开始遇到这个问题,是源于ViewBag的一个值是个对象类型。 假设是User{ id="1",name="test" } 这样的结构。那在前端就有可能出现ViewBag.User为null的状况。javascript
为了解决这个问题,查找资料,给出的答案是前端
@{java
if(ViewBag.User==null)对象
{ip
}博客
}编译
但这样有个问题,既然已经变成了后台代码,怎么输出前端代码呢?test
因而继续寻找答案,找到了这样的代码后台
@if(ViewBag.User!=null)经验
{
<p>@ViewBag.User.name</p>
}
因而我也照着这样写,但毕竟我这里是javascript代码,因此会出现报错。
为了解决错误,继续找资料
最后找到了最终的解决办法
<script>
var id="";
@if(ViewBag.User!=null)
{
<text>
id="@ViewBag.User.id";
</text>
}
</script>
说明:经过使用<text>这个伪元素来强制Razor从编译模式返回到内容模式。
这样就轻松的解决了前端javascript判断后台传递的值的问题了。
本博客文章大可能是经验积累总结,以避免从此忘却,记录下来。同时感谢您的阅读,也但愿能对您有所帮助。