如果不使用隐藏字段控件或任何display:none html item,如何将参数从后端传递到前端

时间:2011-08-17 21:44:51

标签: jquery asp.net html

例如,如果我想将会话值传递给前端并在javascript中用作变量值,是否有一种方法不使用隐藏字段来传递值?

2 个答案:

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