在子代码后面的asp代码中访问javascript window.myvariable

时间:2016-04-12 17:31:13

标签: javascript asp.net json

我有一个父表单,使用此javascript代码调用子表单来传递json对象。

        var w = window.open("childForm.aspx");
        w.myJsonObj = myJSONObject;

如何在childForm.aspx onload事件中访问此变量,以便反序列化?

1 个答案:

答案 0 :(得分:0)

Javascript变量纯粹是客户端,因此它们无法访问服务器端(来自代码隐藏)。要在服务器端访问它,您必须将该值存储在服务器可以访问它的位置。

有很多选项,但这里有一个选项:创建一个隐藏字段来存储值,为该字段提供一个id和runat="server"属性(因此可以从代码访问它 - 后面),并更新你的JavaScript以填充它。

隐藏字段:

<asp:HiddenField id="SomeUniqueID" runat="server"/>

Javascript(不带JQuery):

document.getElementById('<%= SomeUniqueID.ClientID %>').setAttribute("value", myJSONObject);

Javascript(使用JQuery):

$('#<%= SomeUniqueID.ClientID %>').val(myJSONObject);