36

かみそりの構文を使用していますが、HTMLを吐き出す前に、特定のViewBag値が設定されているかどうかを確認したいと思います。値が設定されている場合は、それを書き出したいと思います。そうでなければ、私はそれが何もしないことを望みます。

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

これは正しく機能していないようです。コードは、上記のコードの上にある別のh2の上に表示されます。2つのレジスタコントローラメソッドがあります。1つは取得で、もう1つは投稿を受け入れます。ユーザーが存在する場合、ユーザーに表示する必要のあるViewBagアイテムを設定しています。

ありがとう

4

3 に答える 3

93

Response.Writeを使用しないでください。代わりにこれを行います:

@if (ViewBag.UserExists != null)
{
    <h3>@ViewBag.UserExists</h3>
}
于 2011-08-04T03:35:03.100 に答える
1

ViewBagのデータ型だけでなくNULLもチェックする必要がある人に役立つかもしれません

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>
           }
于 2016-09-20T18:03:37.210 に答える
0

コードはさらに次のように簡略化できます。

<h3>
   @(ViewBag.UserExists??"USER DOES NOT EXIST")
</h3>
于 2018-10-05T16:15:00.737 に答える