Mam model z właściwością object
i numerem identyfikacyjnym typu wartości i chcę utworzyć inny formant edytora w zależności od typu wartości.Funkcja Razor @helper nie renderuje żadnego html
Próbuję użyć konturu brzytwy @help
, jednak żadna z zawartości pomocników nie jest wyświetlana na stronie.
@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;
}
Kiedy mogę umieścić punkt przerwania na @switch
widzę przejście debugera do poprawnej pomocnika, ale przeskakuje od razu do końca funkcji następnie zamyka przełącznik, nic nie jest renderowany.
Masz pojęcie o tym, co robię źle?
To zawsze coś prostego, co sprawia, że wyrywam włosy. Zaraz poprawię, gdy zegar się skończy. Dziękuję Panu. – asawyer
Tak, zwykle jest :) Nie ma problemów, cieszę się, że mogłem pomóc. –
Musisz użyć znaku "@", nawet jeśli używasz pomocnika natychmiast po znaku "@if". Na przykład: '@if (Model.Any()) {@ Html.EditorFor (...); } ' – Mike