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
The If Condition The if statement returns true or false, based on your test: The if statement starts a code block. The condition is written inside parenthesis. The code inside the braces is executed if the test is true.
It will throw a runtime exception, if the ViewBag property name matches with the key of ViewData.
ViewBag doesn't require any type of typecasting for complex data type. ViewBag also has a short life i.e. Its value becomes null when redirection occurs because its life lies only during current request. This is because the aim of ViewBag is to provide a way to transfer/pass data from controllers and views.
Don't use Response.Write. Instead do this:
@if (ViewBag.UserExists != null) { <h3>@ViewBag.UserExists</h3> }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With