我已填充ViewData
项目有疑问的阵列,这样我可以存储在本地存储JSON数据:如何通过ViewData的循环使用Javascript在ASPX查看
string[] jsonQuestions = new string[StudentExam.QuestionCount];
for (int i = 0; i < StudentExam.QuestionCount; i++)
{
jsonQuestions[i] = new JavaScriptSerializer().Serialize(StudentExam.QuestionsE[i]);
ViewData[i.ToString()] = jsonQuestions[i];
}
在测试过程中我装了ViewData
进入localstorage
像这样(硬编码)为题的具体数额:
localStorage.setItem("obj0", JSON.stringify(<%=ViewData["0"]%>));
localStorage.setItem("obj1", JSON.stringify(<%=ViewData["1"]%>));
localStorage.setItem("obj2", JSON.stringify(<%=ViewData["2"]%>));
localStorage.setItem("obj3", JSON.stringify(<%=ViewData["3"]%>));
//...etc.
在视图我想现在动态的ViewData
加载到浏览器localstorage
这样使用JavaScript :
<script>
var mod = "<%=Html.Raw(Model.TotalNumberOfQuestionsForTest.ToString())%>";
for (var i = 0; i < mod; i++) {
localStorage.setItem(
"obj" + i.toString(),
JSON.stringify(<%=ViewData[i.toString()]%>));
};
</script>
现在,这给了我一个错误,它无法找到i
,因为我们“逃脱”的客户端代码。所以我把它改为:
for (var i = 0; i < mod; i++) {
var s = <%=ViewData[%>i.toString()<%]%>;
localStorage.setItem(
"obj" + i.toString(),
JSON.stringify(<%=ViewData[%>i.toString()<%]%>));
};
这是我卡在的部分。我不断收到这条线以下错误:
JSON.stringify(<%=ViewData[%>i.toString()<%]%>));
Error 7 Invalid expression term ';'
和
Error 8 ; expected
,当我运行的Web应用程序,这是我得到的检查元素:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1525: Invalid expression term ')'
Source Error:
Line 278: localStorage.setItem(Line 279:
"obj" + i.toString(), Line 280:
JSON.stringify(<%=ViewData[%>i.toString()<%]%>)); Line 281: Line 282:
};
有没有办法将<%%>
标签转换成javascript的t他的JavaScript变量在ViewData中使用?或者另一种方式来做到这一点?
更新: 我去上,并与码多一点发挥各地,这是我已经得到了我所需要的做像这样的事情发生在最近:
$(function() {
<% for (int i = 0; i < 1; i++){%>
<%="localStorage.setItem('obj" + i.ToString() + "',JSON.stringify('"%><%=ViewData[i.ToString()]%>"'))"
<%}%>
});
因此这并循环通过我的问题,并把在我需要的地方价值,但最后一个问题我是,现在不得不把在报价中的javascript:
<%="localStorage.setItem('obj" + i.ToString() + "',JSON.stringify('"%><%=ViewData[i.ToString()]%>"'))"
需要的最后一个引号关闭<%%>
之间的串标签秒。但这个引号是给我的错误:
Invalid or unexpected token
为我的javascript存储localstorage
看起来像现在这样:
localStorage.setItem("obj1", JSON.stringify("my json query"))" //this quotation is the problem
任何援助或帮助将不胜感激。