1
我迷失於提交帶有多個選定框的列表框和一組複選框。帶有多個下拉框和複選框的ASP.NET MVC窗體組
如果這是一個WebForm項目對我來說不會有問題。
什麼是最佳實踐,也許有些代碼示例顯示在ASP.NET MVC2中正確提交表單,其中包含複選框和帶有多個選定項目的列表框。
這裏是形式的樣品:
類別: - 組複選框
主題的: - 列表框具有多個屬性(多= 「多個」)
我迷失於提交帶有多個選定框的列表框和一組複選框。帶有多個下拉框和複選框的ASP.NET MVC窗體組
如果這是一個WebForm項目對我來說不會有問題。
什麼是最佳實踐,也許有些代碼示例顯示在ASP.NET MVC2中正確提交表單,其中包含複選框和帶有多個選定項目的列表框。
這裏是形式的樣品:
類別: - 組複選框
主題的: - 列表框具有多個屬性(多= 「多個」)
由於總是通過啓動定義視圖模型:
public class MyModel
{
public bool Check1 { get; set; }
public bool Check2 { get; set; }
public IEnumerable<SelectListItem> ListItems { get; set; }
public string[] SelectedItems { get; set; }
}
接下來控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyModel
{
Check1 = false,
Check2 = true,
ListItems = new SelectList(new[]
{
new { Id = 1, Name = "item 1" },
new { Id = 2, Name = "item 2" },
new { Id = 3, Name = "item 3" },
}, "Id", "Name")
};
return View(model);
}
[HttpPost]
public ActionResult Index(MyModel model)
{
// TODO: Process the model
// model.SelectedItems will contain a list of ids of the selected items
return RedirectToAction("index");
}
}
最後查看:
<% using (Html.BeginForm()) { %>
<div>
<%: Html.LabelFor(x => x.Check1) %>
<%: Html.CheckBoxFor(x => x.Check1) %>
</div>
<div>
<%: Html.LabelFor(x => x.Check2) %>
<%: Html.CheckBoxFor(x => x.Check2) %>
</div>
<div>
<%: Html.ListBoxFor(x => x.SelectedItems, Model.ListItems) %>
</div>
<input type="submit" value="OK" />
<% } %>
感謝達林, 是否可以使用複選框的動態列表,因爲這些值將來自DB? 乾杯 – 303 2010-07-06 14:20:17
當然,使用'IEnumerable'。 –
2010-07-06 14:48:22