Man*_*rin 2 c# linq asp.net-mvc-2
我有代码:
<%: Html.DropDownListFor(
model => model.CompanyName,
new SelectList(ViewData["ActiveCompanies"] as IEnumerable,
"Id", "Name"))
%>
Run Code Online (Sandbox Code Playgroud)
正在使用名称等填充列表,但所选项目名称未绑定到Model.CompanyName(如果解决方案返回id,那么我可以使用类似的东西
<%: Html.DropDownListFor(
model => model.CompanyID,
new SelectList(ViewData["ActiveCompanies"] as IEnumerable,
"Id", "Name"))
%>
Run Code Online (Sandbox Code Playgroud)
事实上,这对我的目的来说会更好,但如果我能找出数据未被约束的原因,那将会非常有用.
html助手总是根据value属性绑定数据,而不是文本.也不要使用ViewData和强制转换.我建议你这样做:
<%: Html.DropDownListFor(model => model.CompanyID,
new SelectList(Model.ActiveCompanies, "Id", "Name")) %>
Run Code Online (Sandbox Code Playgroud)
在ActiveCompanies控制器中填充属性的位置:
public ActionResult Index()
{
var model = new SomeViewModel
{
// TODO: Use a repository
ActiveCompanies = new[]
{
new Company { Id = 1, Name = "Company 1" },
new Company { Id = 2, Name = "Company 2" },
new Company { Id = 3, Name = "Company 3" },
}
}
return View(model);
}
Run Code Online (Sandbox Code Playgroud)