これは単純だと思っています。MVC 3 - 辞書の表示値の表示
私はそのプロパティの1つとして辞書を持つビューモデルを持っています。この辞書は、レコードを編集しているときにカテゴリにHTML selectを入力するための辞書です。また、選択した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)
どうすればいいですか?
感謝
正解(ミステールマンのおかげで)
@Html.DisplayFor(model=>model.CategorySelect[Model.CategoryID.Value])
私はこのデータベースを設計していないし、アイテムテーブルでCategoryIDはFKですが、nullを受け入れることもできます。私はあなたがそれを行うことができるかどうかはわかりませんでしたとにかく、FKに違反しないように、実際にはCategoryIDが常に入力されます。 – BKahuna
もちろん、FKはnullでもかまいません。 PKの値をnullにすることはできません。ヌルのFKは関係がないことを意味します。 –