Проверьте пакет на наличие мешков, чтобы увидеть, существует ли элемент, и напишите html и значение ошибки - PullRequest
35 голосов
/ 04 августа 2011

Я использую синтаксис бритвы, и я хочу проверить, установлены ли определенные значения ViewBag, прежде чем я выплюну HTML. Если значение установлено, то я хочу выписать его. Если нет, я хочу, чтобы это ничего не делало.

@if (ViewBag.UserExists != null) 
   { Response.Write(String.Format("<h3>{0}</h3>", ViewBag.UserExists)); }

Похоже, это работает неправильно. Код отображается поверх другого h2, который у меня есть над кодом выше. У меня есть два метода контроллера регистра. Одним из них является получение, а другой принимает сообщение. Если пользователь существует, я устанавливаю элемент ViewBag, который должен отображаться для пользователя.

Спасибо

Ответы [ 3 ]

91 голосов
/ 04 августа 2011

Не используйте Response.Write.Вместо этого сделайте это:

@if (ViewBag.UserExists != null)
{
    <h3>@ViewBag.UserExists</h3>
}
1 голос
/ 20 сентября 2016

Может быть полезно для тех, кому нужно проверить также NULL тип данных 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>
           }
0 голосов
/ 05 октября 2018

Код может быть дополнительно упрощен до:

<h3>
   @(ViewBag.UserExists??"USER DOES NOT EXIST")
</h3>
...