当前位置: 代码迷 >> ASP.NET >> 在a.aspx?id=3中JS调用showModalDialog返回后,querystring id变成空,该如何处理
  详细解决方案

在a.aspx?id=3中JS调用showModalDialog返回后,querystring id变成空,该如何处理

热度:6414   发布时间:2013-02-25 00:00:00.0
在a.aspx?id=3中JS调用showModalDialog返回后,querystring id变成空
在a.aspx?id=3中JS调用showModalDialog('b.aspx?id=3','window',''),返回a.aspx页面后,querystring id变成空

调试后,发现一些hidden field也丢失了值。

------解决方案--------------------------------------------------------
var returnVaulue=window.showModalDialog('b.aspx?id=3','window','');

b页面:
设置 window.retunValue=Request.Querystring["id"]
------解决方案--------------------------------------------------------
var a = window.showModalDialog("AddPattern.aspx?name="+name,"","dialogWidth:900px;dialogHeight:720px;help:no"); 
if (a!=undefined)
{
document.getElementById("txtTEST_3").value=a;
}
------解决方案--------------------------------------------------------
返回a.aspx页面后,querystring id变成空?
你是怎么返回的?

a.aspx页面跟b.aspx直接没关系的。

------解决方案--------------------------------------------------------
你这只是关闭了模式窗口,原来的页面根本都没有任何变化,怎么会影响a.aspx里面的QueryString?
------解决方案--------------------------------------------------------
探讨

在b.aspx中,最后通过以下代码关闭窗口:
string strHtml = "<script language=\"javascript\">\r\n";
strHtml = strHtml + "window.parent.close();\r\n" + "</script>";
base……

------解决方案--------------------------------------------------------
探讨
var returnVaulue=window.showModalDialog('b.aspx?id=3','window','');

b页面:
设置 window.retunValue=Request.Querystring["id"]

------解决方案--------------------------------------------------------
探讨

在b.aspx中,最后通过以下代码关闭窗口:
string strHtml = "<script language=\"javascript\">\r\n";
strHtml = strHtml + "window.parent.close();\r\n" + "</script>";
base……

------解决方案--------------------------------------------------------
服务器端代码是先执行的,然后才执行js代码的。你的QueryString 跟客户端没关系。只要url是a.aspx?id=3
就永远不会丢的
  相关解决方案