Ho un modello con una proprietà object
, e un numero ID tipo di valore, e vogliono creare un diverso controllo editore a seconda del numero tipo di valore.Razor @helper funzioni non di rendering Html alcun
Sto provando a usare contrasti a rasoio @help
, tuttavia nessuno dei contenuti degli helper viene visualizzato sulla pagina.
@helper noEditor()
{
<div>noEditor</div>
}
@helper stringEditor()
{
<div>stringEditor</div>
}
@helper intEditor()
{
<div>intEditor</div>
}
@helper boolEditor()
{
<div>boolEditor</div>
}
@helper collectionEditor()
{
<div>collectionEditor</div>
}
@switch(Model.ValueTypeId)
{
case 1: stringEditor(); break;
case 2: intEditor(); break;
case 3: boolEditor(); break;
case 4: collectionEditor(); break;
default: noEditor(); break;
}
Quando metto un punto di interruzione sulla @switch
posso vedere il passaggio debugger al helper corretto, ma salta subito alla fine della funzione poi esce l'interruttore, non viene reso.
Qualche idea su quello che sto facendo male qui?
E 'sempre qualcosa di semplice come questo che mi fa strappare i capelli fuori. Farò in modo corretto quando il timer è scaduto. Grazie Signore. – asawyer
Sì, di solito è :) Nessun problema, felice di poterti aiutare. –
Devi usare "@" anche se stai usando l'helper subito dopo un "@if". Ad esempio: '@if (Model.Any()) {@ Html.EditorFor (...); } ' – Mike