我有一个“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 作为文本。
慕容森
相关分类