J'utilise la syntaxe razor et je veux vérifier si certaines valeurs de ViewBag sont définies avant de cracher le code HTML. Si une valeur est définie, je veux l'écrire. Sinon, je ne veux rien faire.
@if (ViewBag.UserExists != null)
{ Response.Write(String.Format("<h3>{0}</h3>", ViewBag.UserExists)); }
Cela ne semble pas fonctionner correctement. Le code apparaît au-dessus d'un autre h2 que j'ai au-dessus du code ci-dessus. J'ai deux méthodes de contrôleur de registre. L'un est le get et l'autre accepte le post. Si l'utilisateur existe, je configure un élément ViewBag qui doit être affiché à l'utilisateur.
Merci
N'utilisez pas Response.Write. Au lieu de cela, faites ceci:
@if (ViewBag.UserExists != null)
{
<h3>@ViewBag.UserExists</h3>
}
Peut être utile à quelqu'un qui doit vérifier NULL ainsi que le type de données de ViewBag
if (ViewBag.MyBag != null & ViewBag.MyBag is string) //int or Foo or anyObject
{
<div class="row">
<br />
<div class="alert alert-danger col-sm-offset-2 col-md-8">
@ViewBag.MyBag
</div>
</div>
}
Le code pourrait être encore simplifié pour:
<h3>
@(ViewBag.UserExists??"USER DOES NOT EXIST")
</h3>