从javascript中的viewbag属性获取值
本文关键字:获取 属性 viewbag javascript 中的 | 更新日期: 2023-09-27 18:26:00
我需要将viewbag属性中的值分配给javascript变量
我已经浏览了一些帖子,并根据这些帖子创建了代码。。
var selectedID = null;
@if (ViewBag.Section != null) {
<script type="text/javascript">
selectedID =ViewBag.Section ;
</script>
}
但问题是它不接受脚本中的ViewBag
属性,并显示语法错误。大多数帖子都有这种格式的解决方案,
我尝试过这样的解决方案:
1.
@{selectedID =ViewBag.Section ;}
2.
@if(ViewBag.DoAboutTab != null)
{
var doAboutTab ="something";
} else {
var doAboutTab ="something_else";
}
该解决方案不为@{}
代码之外的变量赋值我可以通过这个解决方案设置常数值,但不能设置Viewbag
属性
3.selectedID = '@ViewBag.Section' !== @ViewBag.Section;
当@ViewBag.Section
是null
时,该解决方案也不起作用
如何解决脚本问题?
<script type="text/javascript">
var selectedID = @Html.Raw(Json.Encode(ViewBag.Section));
</script>
如果未定义ViewBag.Section
,则会得到:
<script type="text/javascript">
var selectedID = null;
</script>
例如,如果ViewBag.Section等于Some nasty escaped " string
,那么您将获得一个正确编码的值,该值不会破坏javascript:
<script type="text/javascript">
var selectedID = "Some nasty escaped '" string";
</script>