web-dev-qa-db-ja.com

ビューバッグは、アイテムが存在するかどうかを確認し、htmlと値のエラーを書き出します

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

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

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

ありがとう

36
Dietpixel

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

@if (ViewBag.UserExists != null)
{
    <h3>@ViewBag.UserExists</h3>
}
92
lahsrah

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>
           }
1
Vijai

コードはさらに簡略化できます:

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