开发者

Html.ListBoxFor error problem asp.mvc 3

I have something like this in my code and I am getting error: Exception Details: System.ArgumentException: Value cannot be null or empty. Parameter name: name . What am I doing wrong ? Thanks for help

@model IEnumerable<NHibernateFluentProject.Patient>

@Html.ListBoxFor(model =开发者_运维问答> model, new SelectList(Model,"ID", "FirstName"));


@Html.ListBoxFor is used for your strong typed viewmodel. which could help to bind to your property. First part will take a lambda expression for a single item as a default seleced for your listbox, second part will take the item collections to dispaly all the listbox items. For example: you have following two classes.

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; }
}

From you view, you should do something like

@model HospitalViewModel

@Html.ListBoxFor(model => model.SelectedPatient, new SelectList(Model.AllPatients,"Id", "FirstName"));

OR if you only want to bind all your patients to a listbox, then use Html.ListBox instead

@model IEnumerable<Patient>

@Html.ListBox("ListBoxName", new SelectList(Model,"Id", "FirstName"));


You need to pass a lambda expression containing the property to bind the listbox to.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜