MVC 3 - affichage de la valeur à partir du dictionnaire de vue

Je suppose que c'est simple et je suis juste en manque c'.

J'ai une vision modèle qui dispose d'un dictionnaire comme une de ses propriétés. Ce dictionnaire est pour le remplissage d'un HTML, sélectionnez la Catégorie, quand je suis à la modification d'un enregistrement. Il y a aussi une propriété pour indiquer sélectionnés CategoryID. Cependant, quand je suis juste de l'affichage de l'enregistrement je veux afficher la valeur de la paire clé/valeur qui correspond à la CategoryID.

Mon point de vue, modèle:

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; }
}

J'ai essayé quelque chose comme ça, mais j'ai des paramètres de la fonction tort:

@Html.DisplayFor(model => model.CategorySelect.TryGetValue(model.CategoryID, out val))

J'ai aussi essayé ce qui échoue avec message d'erreur:

@Html.DisplayFor(model => model.CategorySelect.SingleOrDefault(c=> int.Parse(c.Value) == model.CategoryID).Value)

Comment puis-je faire cela?

Merci beaucoup

LA RÉPONSE CORRECTE (Merci à Mystère de l'Homme)

@Html.DisplayFor(model=>model.CategorySelect[Model.CategoryID.Value])
  • Une note rapide - je n'ai pas la conception de cette base de données et dans le tableau des éléments de la CategoryID est un FK mais il peut aussi accepter les valeurs null. Je ne savais pas qu'on pouvait le faire. De toute façon, pour ne pas violer la FK, en réalité, la CategoryID sera toujours remplie.
  • Bien sûr FK peut être null. PK est ne peut pas être null. Un FK c'est la valeur null signifie simplement il n'y a pas de relation.
InformationsquelleAutor BKahuna | 2011-10-26