7 votes

HtmlHelper à l'intérieur d'une déclaration "if" Razor

J'ai écrit une extension HtmlHelper pour formater du contenu basé sur certains de nos styles. Les helpers affichent correctement le contenu lorsqu'il n'est pas inclus dans une condition if.

Cependant, lorsque j'essaie de les envelopper dans une déclaration if en razor, rien n'est affiché, je soupçonne que cela a quelque chose à voir avec la syntaxe Razor que je n'utilise pas correctement.

Code:

    @if (DataModel.UserHasExpired)
    {
       Html.MyCustomNotificationBox("someparameter") // Mon helper devrait afficher un div
    }

Si je place ma boîte de notification à l'extérieur du if, cela fonctionne bien. J'ai également vérifié que le code entre dans le bloc, mais aucun balisage n'est généré dans le html lorsque je l'inspecte.

J'ai essayé d'ajouter un @ de cette manière, et de terminer par deux points

@Html.MyCustomNotificationBox("somparameter");

J'ai même essayé @Html.Raw(...avec ce qui précède...) ce qui provoque une erreur totale.

Des idées?

19voto

Sergey Berezovskiy Points 102044

Avez-vous essayé de le mettre entre balises text (ces balises ne sont pas envoyées au client)?

@if (DataModel.UserHasExpired)
{
    @Html.MyCustomNotificationBox("somparameter")
}

8voto

efkah Points 996
   @if (true)
   {
       @Html.Hello("World")
   }

Fonctionne parfaitement bien

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X