Asp.net-Mvc-3

如何在 Mvc3 中填充 ListBoxFor?

  • January 14, 2013

我有一個類型儲存過程的列表,其中有一個 ID 和一個名稱作為數據。我在模型中有 int 類型的屬性和相同儲存過程的列表。現在我想將此資訊綁定到 ListBoxFor

鑑於我已經寫了這個

@Html.ListBoxFor(x => x.HobbyId, new MultiSelectList(Model.listHobby, "pkHobbyId", "Hobby"))

但我收到一個錯誤

當允許多選時,參數“表達式”的計算結果必須為 IEnumerable。

請幫助如何綁定。

試試看

@Html.ListBoxFor(x => x.HobbyId, Model.listHobby.Select(f => new SelectListItem { Text = f.Hobby, Value = f.pkHobbyId.ToString() }), new { Multiple = "multiple" }) 

listHobby 是我的範例中的 iEnumerable 列表


抱歉,如果我誤導了您,急於回答,但是您無法將多選列錶框的結果放入 guid 或 int 變數中(無論您的 HoobyId 是什麼類型),您應該有一個數組來獲取結果,例如

public string[] SelectedHobbyIds { get; set; }

所以你的視圖模型一定有問題,所以你最好發布你的視圖模型進行檢查

引用自:https://stackoverflow.com/questions/10028882