从 javascript 中的 viewbag 属性 获取价值
get value from viewbag property in javascript
我需要将 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>
我需要将 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>