从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.Sectionnull 时,该解决方案也不起作用

如何解决脚本问题?

从javascript中的viewbag属性获取值

<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>