为了账号安全,请及时绑定邮箱和手机立即绑定

查看模型结果的下拉列表

查看模型结果的下拉列表

C#
智慧大石 2022-06-12 15:01:02
我有一个“ViewModel”的工作示例,我认为它适用于下拉列表。目前我正在使用它来做一个 Foreach 并且它可以正常工作,但我需要在我的表单上的下拉列表中获得相同的结果。我尝试了不同的想法,我认为这些想法可能会奏效。似乎没有人能做到这一点。我没有示例,因为我通常只是阅读一堆帖子并开始向其抛出代码以查看哪些内容。我仍在学习,所以希望有人可以为我指明正确的方向,或者向我展示一些可以填充我需要的代码。我相信我的 ViewModel 中有我需要的一切,我想远离 Viewbag。下面是我的“视图模型”。这是我想用来填充下拉列表的行,除非有更好的方法。result.Addresses = db.Addresses.Where(a => a.CompanyId == result.CompanyId);编辑 - 这是此“视图模型”的当前工作下拉列表@Html.DropDownList("AddressId", new SelectList(Model.Addresses, "AddressId", "LocationName"), "Select Address user belongs to", new { @class = "form-control" })这是整个“视图模型”    public class RegisterUserViewModel{    public static RegisterUserViewModel GetCompanyId(string userId, CustomerEntities db)    {        var qCust = from ad in db.Addresses                    join anu in db.Users on ad.AddressId equals anu.AddressId                    join cus in db.CompanyNames on ad.CompanyId equals cus.CompanyId                    where (anu.Id == userId)                    select new RegisterUserViewModel()                    {                        UserId = userId,                        CompanyId = cus.CompanyId,                        AddressId = ad.AddressId                    };        var result = qCust.SingleOrDefault();        if (result != null)        {            result.Addresses = db.Addresses.Where(a => a.CompanyId == result.CompanyId);        };        return result;    }}我希望将 AddressId 作为值,将 LocationName 作为文本。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

尝试如下。

@Html.DropDownList("address", new SelectList(Model.Addresses, "AddressId", "LocationName"))

正如您在评论中提到的那样,您在使用后将第二个项目作为选定值@Html.DropDownList(model => model.AddressId...,所以这里发生的事情是它会自动从您的model.AddressId. 只是检查一下。

现在,如果您想设置默认值,请确保您model.AddressId的值与默认选择值相同。


查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信