日期:2014-05-20  浏览次数:20354 次

asp.net中使用showModalDialog
打开showModalDialog窗口使用的是javascript
比如:
window.showModalDialog( "Main.aspx ",my_array, "dialogWidth:800px;dialogHeight:560px; ");

在main.aspx页面的page_load中,如何获取my_array的值?

请看清楚,是在服务器端的CS代码中,而非客户端的javascript中,所以请不要讲window.dialogArguments这个东西


------解决方案--------------------
你把my_array里的值变成字符串,放到路径里阿,然后用request获取不行吗

window.showModalDialog( "Main.aspx?Youarray= "+Strmy_array,null, "dialogWidth:800px;dialogHeight:560px; ");

Response.Write(Request[ "Youarray "])

------解决方案--------------------
这个函数不会传服务器。你得提交才行。不然用隐藏什么事件提交。
------解决方案--------------------
window.showModalDialog( "Main.aspx?ar= "+my_array,my_array, "dialogWidth:800px;dialogHeight:560px; ");

在 Main.aspx 的 Page_Load 里
通过 Request.QueryString[ "ar "] 来获取你需要的东西

也就是说通过页面参数传递

------解决方案--------------------
那我建议楼主点击弹出Dialog的时
首先为
A页面里,执行弹出操作的按钮或者链接加一个服务器事件
在 control_click 事件里
把用户名和密码写在 Session 里
然后在事件末尾通过 RegisterStartupScript 方法
输出 window.showModalDialog( "Main.aspx ", " ", "dialogWidth:800px;dialogHeight:560px; ") 这样的脚本
在 Main 的 Page_Load 里
用 Session[ "UserName "] 和 Session[ "Password "] 去取需要的值
------解决方案--------------------
传参数应该是比较折中的做法吧
把参数加密后再做下处理
如果是对安全性能要求超级高的就可以不用考虑这个了
------解决方案--------------------
up