asp.net mvc 4 - What is the best way to create dropdownlists in MVC 4? -
i want know,what best way create dropdownlists in mvc 4? viewbag or approach?
i argue since items variable values within view belong in view model. view model not necessarily items coming out of view.
model:
public class somethingmodel { public ienumerable<selectlistitem> dropdownitems { get; set; } public string myselection { get; set; } public somethingmodel() { dropdownitems = new list<selectlistitem>(); } }
controller:
public actionresult dosomething() { var model = new somethingmodel(); model.dropdownitems.add(new selectlistitem { text = "mytext", value = "1" }); return view(model) }
view:
@html.dropdownlistfor(m => m.myselection, model.dropdownitems)
populate in controller or wherever else appropriate scenario.
alternatively, more flexibility, switch public ienumerable<selectlistitem>
public ienumerable<mycustomclass>
, do:
@html.dropdownfor(m => m.myselection, new selectlist(model.dropdownitems, "keyproperty", "valueproperty")
in case, also, of course, have modify controller action populate model.dropdownitems
instances of mycustomclass
instead.
Comments
Post a Comment