Sospetto che sia semplice e mi manca.MVC 3 - visualizza valore dal dizionario in vista
Ho un modello di vista che ha un dizionario come una delle sue proprietà. Questo dizionario serve per compilare una selezione HTML con la categoria quando sto modificando un record. C'è anche una proprietà per indicare il CategoryID selezionato. Tuttavia, quando visualizzo il record, desidero visualizzare il valore della coppia chiave/valore che corrisponde al CategoryID.
mio punto di vista il modello:
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; }
}
Ho provato qualcosa di simile ma ho i parametri della funzione di sbagliato:
@Html.DisplayFor(model => model.CategorySelect.TryGetValue(model.CategoryID, out val))
Ho anche provato questo che non riesce con nessuna specifica messaggio di errore:
@Html.DisplayFor(model => model.CategorySelect.SingleOrDefault(c=> int.Parse(c.Value) == model.CategoryID).Value)
Come posso fare questo?
Molte grazie
la risposta corretta (grazie a Mystere Man)
@Html.DisplayFor(model=>model.CategorySelect[Model.CategoryID.Value])
Una nota rapida: non ho progettato questo database e nella tabella degli articoli il CategoryID è un FK ma può anche accettare valori null. Non sapevo che potessi farlo. Ad ogni modo, per non violare l'FK, in realtà il CategoryID sarà sempre popolato. – BKahuna
Naturalmente gli FK possono essere nulli. I PK non possono essere nulli. Un FK null significa solo che non c'è alcuna relazione. –