C# Razor输出javascript 前端cshtml判断输出ViewBag

开始遇到这个问题,是源于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判断后台传递的值的问题了。

本博客文章大可能是经验积累总结,以避免从此忘却,记录下来。同时感谢您的阅读,也但愿能对您有所帮助。

相关文章
相关标签/搜索