C# Razor输出javascript 前端cshtml判断输出ViewBag
C# Razor输出javascript 前端cshtml判断输出ViewBag
xiaobo137 发表于8个月前
C# Razor输出javascript 前端cshtml判断输出ViewBag
  • 发表于 8个月前
  • 阅读 7
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

开始遇到这个问题,是源于ViewBag的一个值是个对象类型。 假设是User{ id="1",name="test" } 这样的结构。那在前端就有可能出现ViewBag.User为null的情况。

为了解决这个问题,查找资料,给出的答案是

@{

    if(ViewBag.User==null)

    {

    }

}

但这样有个问题,既然已经变成了后台代码,怎么输出前端代码呢?

于是继续寻找答案,找到了这样的代码

@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判断后台传递的值的问题了。

本博客文章大多是经验积累总结,以免今后忘却,记录下来。同时感谢您的阅读,也希望能对您有所帮助。

 

 

 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 34
博文 63
码字总数 32649
×
xiaobo137
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: