Viewbag check to see if item exists and write out

2019-04-03 01:54发布

I'm using razor syntax and I want to check to see if certain ViewBag values are set before I spit out the html. If a value is set then I want to write it out. If not I want it to do nothing.

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

This doesn't appear to be working correctly. The code shows up on top of another h2 I have above the code above. I have two register controller methods. One is the get and the other accepts the post. If the user exists I am setting a ViewBag item that needs to be displayed to the user.

Thanks

3条回答
2楼-- · 2019-04-03 02:04

May be useful to some one who need to check NULL as well data type of 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>
           }
查看更多
看我几分像从前
3楼-- · 2019-04-03 02:10

Don't use Response.Write. Instead do this:

@if (ViewBag.UserExists != null)
{
    <h3>@ViewBag.UserExists</h3>
}
查看更多
ら.Afraid
4楼-- · 2019-04-03 02:16

The code could be further simplified to :

<h3>
   @(ViewBag.UserExists??"USER DOES NOT EXIST")
</h3>
查看更多
登录 后发表回答