我使用 viewbag 键从我的 asp.net mvc3 应用程序 Controller 返回一个 JSON 字符串,如下所示,根据各种情况它也可以为 null
{"Name":"TShirt","Id":"85","Gender":"M","Size":"Medium"}
我正在尝试将此 JSON 对象分配给我的本地匿名变量,如下所示:
var data = '@ViewBag.UserData';
上面的 ViewBag 在初始页面加载时为 null,但当用户键入条件时,我将其存储到 session 变量中。每当用户选择产品并单击返回上一页
链接时,我都会从 session 中恢复这些过滤器并将它们放入 Viewbag 中以在 View 上进行进一步处理。
当用户点击返回上一页
时,这工作得很好,但我在初始加载时看到脚本错误,因为var data = '@ViewBag.UserData';
code> 的计算结果为 var data = ;
我也尝试了以下方法,但仍然看到错误
var data = '@ViewBag.UserData' != '' ? @Html.Raw(@ViewBag.UserData): {};
我试过了
var data = '@ViewBag.UserData' != '' ? '@Html.Raw(@ViewBag.UserData)': {};
但我无法解析在返回上一页
场景中获得的数据
。我在这里做错了什么吗?
最佳答案
我不太清楚你真正想要什么。但根据我的理解,我认为你正在寻找 JSON 解析器。
var str = '{"one":"1","two":"2"}';
console.log(str); // Prints string
var obj = JSON.parse(str); //Converts string to JSON object
console.log(obj); // Prints JSON object
关于javascript var 分配动态可为空值显示脚本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27916805/