51 html asp.net-mvc model-binding
如果在ASP.NET MVC中将选择列表设置为多个,那么modelbinding如何工作?
它为您选择的项目,阵列返回什么?
<SELECT NAME="toppings" MULTIPLE SIZE=5>
<option value="mushrooms">mushrooms</option>
<option value="greenpeppers">green peppers</option>
<option value="onions">onions</option>
<option value="tomatoes">tomatoes</option>
<option value="olives">olives</option>
</SELECT>
Run Code Online (Sandbox Code Playgroud)
Hba*_*bas 24
是的,它返回一个数组.
查看型号:
public class MyViewModel
{
public int[] SelectedIds { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult Index()
{
var model = new MyViewModel
{
// fetch the items from some data source
Items = Enumerable.Select(x => new SelectListItem
{
Value = x.Id,
Text = "item " + x.Id
})
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
视图:
@model MyViewModel
@Html.ListBoxFor(x => x.SelectedIds, Model.Items)
Run Code Online (Sandbox Code Playgroud)
在VegTableViewmodel中:
public IEnumerable<MultiSelectList> Vegetables { get; set; }
Run Code Online (Sandbox Code Playgroud)
在Controller中:获取蔬菜列表,然后将其传递给VegTableViewModel的Vegetables属性.
viewmodel.Vegetables = vegetables .Select(d => new MultiSelectList(d.VegName));
Run Code Online (Sandbox Code Playgroud)
在视图中:
@Html.ListBoxFor(m => m.L, new MultiSelectList(Model.Vegetables.Select(d => d.Items))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64837 次 |
| 最近记录: |