0
在ASP.NET MVC(剃刀)的項目,我使用的是ListBox
在一個編輯查看多選選項,MultiSelectList並不突出先前選定的項目
控制器
public ActionResult Edit(int id)
{
Post post = db.Posts.Find(id);
string selectedValues = post.Tags; //This contains Selected values list (Eg: "AA,BB")
ViewBag.Tagslist = GetTags(selectedValues.Split(','));
return View(post);
}
private MultiSelectList GetTags(string[] selectedValues)
{
var tagsQuery = from d in db.Tags
orderby d.Name
select d;
return new MultiSelectList(tagsQuery, "Name", "Name", selectedValues);
}
HTML
<div class="editor-field">
@Html.ListBox("Tags", ViewBag.Tagslist as MultiSelectList)
</div>
這在以加載項(標籤列表),但不會突出顯示Selected Values
列表中的項目。
如何解決這個問題?
在此先感謝。
對不起......我想這一點,但都無濟於事:( – Nalaka526
一件事,在你完整的例子'Tags'是一個數組,但對我來說它是一個字符串值。 – Nalaka526
哦,那是你的問題,並解釋了爲什麼你不會得到任何選定的值ListBox助手期望第一個參數是一個屬性類型集合如果你沒有這樣的屬性你有兩種可能性1.使用視圖模型,如我所建議2.使用一些虛擬名稱屬性不存在於Post模型中,然後選擇值應該工作(或者不是 - >我沒有測試過,所以無法確認100% - >我會反正使用視圖模型)。 –