我有两个 ASP.NET 表单。
第一个表单使用 onclick javascript 打开第二个表单的弹出窗口,如下所示:
onclientclick="javascript:PS=window.open('https://site/PS.aspx','PS','width=800,height=600,scrollbars=1');PS.focus()"
第二个表单有一个带有 SelectParameter 的 .net gridview。
<SelectParameters>
<asp:ControlParameter ControlID="???" Name="FirstName" DefaultValue="=" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
如何将参数的值设置为父窗体上控件的值?如果可能的话,我不想使用 session 变量或查询字符串。
谢谢。
最佳答案
您应该能够从父窗口中提取一个值,如下所示:
在父表单上,添加一个隐藏字段并创建一个像这样的函数来访问它的值:
getParameterValue = function(){
return document.getElementById("<%=HiddenCtrl.UniqueID%>").value;
}
在子窗口中也添加一个隐藏字段,并设置值如下:
document.getElementById("<%=ChildHiddenCtrl.UniqueID%>").value = window.opener.getParameterValue();
然后对于您的控制参数,使用 ChildHiddenCtrl:
<asp:ControlParameter ControlID="ChildHiddenCtrl" ... >
关于javascript - 通过 JavaScript 将值从父窗体传递到 .NET 控件。 Gridview 从 window.opener 选择参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125255/