[英]MVC 3 - display value from dictionary in view
我懷疑這很簡單,我只是想念它。
我有一個視圖模型,它有一個字典作為其屬性之一。 這個詞典用於在我編輯記錄時用類別填充HTML選擇。 還有一個屬性指示所選的CategoryID。 但是,當我只顯示記錄時,我想顯示與CategoryID對應的鍵/值對的值。
我的觀點模型:
public class ItemEditVM
{
public int ItemID { get; set; }
public int? CategoryID { get; set; }
public string ItemDesc { get; set; }
public Dictionary<int, string> CategorySelect { get; set; }
}
我嘗試過類似的東西,但我的函數參數錯誤了:
@Html.DisplayFor(model => model.CategorySelect.TryGetValue(model.CategoryID, out val))
我也試過這個失敗,沒有特定的錯誤信息:
@Html.DisplayFor(model => model.CategorySelect.SingleOrDefault(c=> int.Parse(c.Value) == model.CategoryID).Value)
我怎樣才能做到這一點?
非常感謝
正確的答案(感謝Mystere Man)
@Html.DisplayFor(model=>model.CategorySelect[Model.CategoryID.Value])
你有沒有嘗試過:
@Model.CategorySelect[Model.CategoryID.Value]
正如你所說,CategoryID不會為null,那么這應該不是問題..除非它可以為null,在這種情況下你需要做一些驗證。
@foreach(var keyValue in Model.CategorySelect.keys)
{
foreach(var cat in @Model.CategorySelect[keyValue]
{
<p>@cat</p> <!--whatever html you fancy-->
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.