对话框参数在服务器端
本文关键字:服务器端 参数 对话框 | 更新日期: 2023-09-27 17:51:09
我将showmodaldailoge()
函数中父窗口的引用发送为
window.showmodaldialog("mypage.aspx", window, winsizeattributes)
,因为我不想使用查询字符串或会话变量。现在我可以访问mypage.aspx
客户端的父窗口变量了。
mypage.aspx
ie在Page_Load()
服务器端的父窗口变量?用runat="server"创建一个隐藏的客户端html文本框还有一个id属性
从客户端jquery函数插入一个值到隐藏框
使用。findcontrol ("yourId")方法在回发时读取服务器端值。
注意:使用一个新的隐藏字段为每个变量您希望召回。
只要你的模态容器和你的隐藏字段存在于同一个页面上,你就可以从模态对话框上下文中读取这些值。
既然我不想使用查询字符串或会话变量,我怎么能访问mypage服务器端的父窗口变量。阿斯匹克。employee () ?
如果不使用查询字符串或会话变量,则无法做到这一点。可能的选择是在第二个参数传递所需的变量到你的模态窗口(你有window
传递到那里,据我所知,为了获得对父窗口的访问,但你可以避免-有方法window.opener
应该指向客户端父窗口),采取这些值,并使用JS表单提交它们。一旦完成,您将能够在mypage.aspx后面的代码中执行类似Request.Form["some_key"]
的操作。但这实际上与查询参数相同,但更复杂。
这里的问题是,模态窗口将产生另一个请求的asp.net,不知道父窗口,因为web的无状态性质。基本上,父窗口的变量从服务器上的内存中删除,只是父窗口请求完成。看看asp.net页面生命周期(例如这里)。在不同请求之间共享数据的常用方法是表单、查询参数、会话和cookie。