SelectListItem
對象有一個Selected
屬性來表明這一點。所以我想這會歸結爲你如何建立SelectList
。目前,你這樣做:
new SelectList(ViewBag.Category, "Text", "Value")
其中一期工程,但爲您提供了個人SelectListItem
沒什麼控制。您可以構建一個IEnumerable<SelectListItem>
using the same method overload,而不是構建SelectList
。最初可能如下所示:
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value
});
此時您可以更好地控制各個項目。現在只需確定應選擇哪一個。你如何確定?它是Category
對象上的一個屬性嗎?像這樣的東西?:
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value,
Selected = c.Selected
});
或許一些其他的條件?:
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value,
Selected = c.SomeValue == SomeCondition
});
你怎麼確定是你,最好在這裏被使用的東西,你可以在邏輯上添加爲後盾的模式。
有趣的是,我沒有想過這樣做。至於如何確定應該選擇哪些,我在View中有一個數組,並且應該選擇這些數值。我在想像@ Html.ListBox(「Category」,新的MultiSelectList(ViewBag.Category,「文本」,「價值」,「在這裏的數組值」))。不知道這是否會奏效。 –