我的代码中有类似的东西,我收到错误:异常详细信息:System.ArgumentException:Value不能为null或为空。 参数名称:名称。我究竟做错了什么 ?谢谢你的帮助
@model IEnumerable<NHibernateFluentProject.Patient>
@Html.ListBoxFor(model => model, new SelectList(Model,"ID", "FirstName"));
答案 0 :(得分:6)
@ Html.ListBoxFor用于强类型视图模型。这可能有助于绑定您的财产。第一部分将单个项目的lambda表达式作为列表框的默认选择,第二部分将使项目集合显示所有列表框项目。 例如:您有以下两个类。
public class HospitalViewModel
{
public string SelectedPatient { get; set; }
public IEnumerable<Patient> AllPatients { get; set; }
}
public class Patient
{
public int Id { get; set; }
public string FirstName { get; set; }
}
从您的角度来看,您应该执行类似
的操作@model HospitalViewModel
@Html.ListBoxFor(model => model.SelectedPatient, new SelectList(Model.AllPatients,"Id", "FirstName"));
或者,如果您只想将所有患者绑定到列表框,则使用Html.ListBox代替
@model IEnumerable<Patient>
@Html.ListBox("ListBoxName", new SelectList(Model,"Id", "FirstName"));
答案 1 :(得分:0)
您需要传递一个包含该属性的lambda表达式,以将列表框绑定到。