例如,如果我想将会话值传递给前端并在javascript中用作变量值,是否有一种方法不使用隐藏字段来传递值?
答案 0 :(得分:0)
你可以传递给他们扔ajax:
var hidden_vars;
var ajax = $.ajax({
url: "get_vars.asp",
dataType: "json"
});
ajax.success(function( response ) {
hidden_vars = response.vars;
});
然后 get_vars.asp
{
"vars": {
"var1": "something",
"var2": "else"
}
}
然后,您可以使用hidden_vars
alert(hidden_vars.var1); // something
否则我不知道?但有兴趣!
安德烈亚斯
答案 1 :(得分:0)
简单方法:
<script type="text/javascript">
var value = '<%=Session("sessionkey") %>';
</script>
缺点是“值”javascript变量将始终为字符串。如果存储在“sessionkey”下的会话中的对象不是字符串,则为事件。所以更好的方法是使用javascript序列化器:
<script type="text/javascript">
var value = <%=(New System.Web.Script.Serialization.JavaScriptSerializer()).Serialize(Session("sessionkey"))%>;
</script>
注意:您必须引用System.Web.Extensions程序集才能使用JavaScriptSerializer。上面的代码是用VB语言编写的。 C#等价物将是:
<script type="text/javascript">
var value = '<%=Session["sessionkey"] %>';
</script>
和
<script type="text/javascript">
var value = <%=(new System.Web.Script.Serialization.JavaScriptSerializer()).Serialize(Session["sessionkey"])%>;
</script>