當然一如既往你開始通過定義將代表信息的視圖模型,你想顯示具體的看法:
public class MyViewModel
{
public string[] SelectedItems { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
然後控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyViewModel
{
SelectedItems = new[] { "1", "3" },
Items = new[]
{
new SelectListItem { Value = "1", Text = "Item 1" },
new SelectListItem { Value = "2", Text = "Item 2" },
new SelectListItem { Value = "3", Text = "Item 3" },
}
};
return View(model);
}
}
終於在您的強類型視圖:
<%= Html.ListBoxFor(
x => x.SelectedItems,
new SelectList(Model.Items, "Value", "Text")
) %>
如預期的那樣項目1和項目3將在列表框呈現時預選。
優秀,按預期工作。當我向老闆詢問這個方法時,事實上我曾經做過,他說MVC模型應該是無狀態的,我們不應該跟蹤這樣的數據。相反,它應該在View和Model之間傳遞數據,並處理僅傳遞的內容。那是對的嗎?謝謝。 –