Elv*_*dov 8 viewdata html-select html.dropdownlistfor viewbag asp.net-mvc-4
我想知道,在MVC 4中创建下拉列表的最佳方法是什么?使用ViewBag或其他方法?
Ant*_*t P 10
我认为,因为项目是视图中的变量值,它们属于视图模型.视图模型并不一定只是为了回来的物品出来查看的.
模型:
public class SomethingModel
{
public IEnumerable<SelectListItem> DropDownItems { get; set; }
public String MySelection { get; set; }
public SomethingModel()
{
DropDownItems = new List<SelectListItem>();
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult DoSomething()
{
var model = new SomethingModel();
model.DropDownItems.Add(new SelectListItem { Text = "MyText", Value = "1" });
return View(model)
}
Run Code Online (Sandbox Code Playgroud)
视图:
@Html.DropDownListFor(m => m.MySelection, Model.DropDownItems)
Run Code Online (Sandbox Code Playgroud)
在控制器中或在适合该场景的任何其他位置填充此内容.
另外,有更多的灵活性,交换机public IEnumerable<SelectListItem>
的public IEnumerable<MyCustomClass>
,然后做:
@Html.DropDownFor(m => m.MySelection,
new SelectList(Model.DropDownItems, "KeyProperty", "ValueProperty")
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您当然还必须修改控制器操作以填充model.DropDownItems
实例MyCustomClass
.
归档时间: |
|
查看次数: |
17245 次 |
最近记录: |