parentButtonClick(){
//some codes
.....
Response.Write("<script language='javascript'>window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;')</script>");
//codes here to judge globe var-------line n
......
return;
}
子窗口的关闭按钮里面我写了
childCloseButtonClick(){
//set some globe var
.......
Response.Write("<script language:javascript>window.close()</script>");
}
现在的问题是调试过程中发现当父窗口执行完Response.Write后,程序控制权并没有交给子窗口页面,所以子窗口并没有立刻跳出。父窗口的代码继续从line n继续执行,当该函数返回的时候,子窗口才跳出,也就是说我无法从子窗口的关闭按钮函数得到新被设置的值。哪位仁兄能告诉我如何解决啊?如何让父窗口的代码在子窗口的操作完成后才继续运行阿?
17 个解决方案
#1
你应该分开写。。。关闭窗口再激发父窗口的后续响应
#2
还有其他办法么
#3
父窗口的代码还能继续运行的话,那就不就模态对话框了
#4
可它确实是继续运行的阿。。。急
#5
确实应该分2步进行
模态窗口关闭的时候给主窗口传递一个参数
然后主窗口根据传递的参数重新处理剩余的代码
模态窗口关闭的时候给主窗口传递一个参数
然后主窗口根据传递的参数重新处理剩余的代码
#6
while()
{
}
{
}
#7
前面的发错了不好意思啊>......
while( !form.IsDispost )
{
//这里什么也不写就是一个空等待
}
while( !form.IsDispost )
{
//这里什么也不写就是一个空等待
}
#8
你对window.showModalDialog还是不了解!
父窗体:
//strReturn是从子窗体返回到值
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
子窗体:
window.returnValue = XXX;
父窗体:
//strReturn是从子窗体返回到值
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
子窗体:
window.returnValue = XXX;
#9
iflang :
是
while(!IsPostBack)
{
}
么?不好使啊。。。
fallingstarNo1 :
我是asp.net 啊,里面哪有window.showModalDialog这个东西啊?
是
while(!IsPostBack)
{
}
么?不好使啊。。。
fallingstarNo1 :
我是asp.net 啊,里面哪有window.showModalDialog这个东西啊?
#10
不顶沉的快。。。
#11
救命啊。。。。。。。。。
#12
showModalDialog(str,"",strFeatures); //弹出窗口
doPostBack('btnRefresh', '');//当关闭弹出窗口后执行 btnRefresh(服务器控件) 的单击事件
doPostBack('btnRefresh', '');//当关闭弹出窗口后执行 btnRefresh(服务器控件) 的单击事件
#13
父前台页面:
<script language=javascript>
parentButtonClick()
{
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
if(strReturn == "True")
{
return true;
}
return false;
}
</script>
父后台:
button1.Attributes.Add("onclick", "return SendToClient('','')");
子页面后台:
Response.Write("<script language=javascript>window.returnValue = XXX;
</script>");
<script language=javascript>
parentButtonClick()
{
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
if(strReturn == "True")
{
return true;
}
return false;
}
</script>
父后台:
button1.Attributes.Add("onclick", "return SendToClient('','')");
子页面后台:
Response.Write("<script language=javascript>window.returnValue = XXX;
</script>");
#14
fallingstarNo1 谢谢你,你的方法应该可行,但是由于我的parentButtonClick()
里面还作了很多事情,在showModalDialog前有很多,之后也有很多,所以不可能让这些代码都在javascript里面实现。无论怎样,都很感谢你
里面还作了很多事情,在showModalDialog前有很多,之后也有很多,所以不可能让这些代码都在javascript里面实现。无论怎样,都很感谢你
#15
谢谢上面回答问题的朋友,谢谢。不过还没有好的解决方法出现。
#16
str=showModalDialog(str,"",strFeatures); //弹出窗口,至于具体用法,我以前回答过类似的帖子你自己搜索下!!!!!
__doPostBack('btnRefresh', '');//这个别人写错了
--这个方法可行,那我讲个具体思路
上面的代码都是js代码
根据你说 的你可以这样来做,弹出窗口后需要执行的后台代码放在另外一个按钮的后台事件里面!通过前台对关闭弹出窗口返回给前台str变量的值来决定是否执行document.all.Button2.click();!!
__doPostBack('btnRefresh', '');//这个别人写错了
--这个方法可行,那我讲个具体思路
上面的代码都是js代码
根据你说 的你可以这样来做,弹出窗口后需要执行的后台代码放在另外一个按钮的后台事件里面!通过前台对关闭弹出窗口返回给前台str变量的值来决定是否执行document.all.Button2.click();!!
#17
学习中~~
#1
你应该分开写。。。关闭窗口再激发父窗口的后续响应
#2
还有其他办法么
#3
父窗口的代码还能继续运行的话,那就不就模态对话框了
#4
可它确实是继续运行的阿。。。急
#5
确实应该分2步进行
模态窗口关闭的时候给主窗口传递一个参数
然后主窗口根据传递的参数重新处理剩余的代码
模态窗口关闭的时候给主窗口传递一个参数
然后主窗口根据传递的参数重新处理剩余的代码
#6
while()
{
}
{
}
#7
前面的发错了不好意思啊>......
while( !form.IsDispost )
{
//这里什么也不写就是一个空等待
}
while( !form.IsDispost )
{
//这里什么也不写就是一个空等待
}
#8
你对window.showModalDialog还是不了解!
父窗体:
//strReturn是从子窗体返回到值
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
子窗体:
window.returnValue = XXX;
父窗体:
//strReturn是从子窗体返回到值
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
子窗体:
window.returnValue = XXX;
#9
iflang :
是
while(!IsPostBack)
{
}
么?不好使啊。。。
fallingstarNo1 :
我是asp.net 啊,里面哪有window.showModalDialog这个东西啊?
是
while(!IsPostBack)
{
}
么?不好使啊。。。
fallingstarNo1 :
我是asp.net 啊,里面哪有window.showModalDialog这个东西啊?
#10
不顶沉的快。。。
#11
救命啊。。。。。。。。。
#12
showModalDialog(str,"",strFeatures); //弹出窗口
doPostBack('btnRefresh', '');//当关闭弹出窗口后执行 btnRefresh(服务器控件) 的单击事件
doPostBack('btnRefresh', '');//当关闭弹出窗口后执行 btnRefresh(服务器控件) 的单击事件
#13
父前台页面:
<script language=javascript>
parentButtonClick()
{
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
if(strReturn == "True")
{
return true;
}
return false;
}
</script>
父后台:
button1.Attributes.Add("onclick", "return SendToClient('','')");
子页面后台:
Response.Write("<script language=javascript>window.returnValue = XXX;
</script>");
<script language=javascript>
parentButtonClick()
{
strReturn = window.showModalDialog('child.aspx','window','help=0;status=0;dialogWidth=870px;dialogHeight=450px;'
if(strReturn == "True")
{
return true;
}
return false;
}
</script>
父后台:
button1.Attributes.Add("onclick", "return SendToClient('','')");
子页面后台:
Response.Write("<script language=javascript>window.returnValue = XXX;
</script>");
#14
fallingstarNo1 谢谢你,你的方法应该可行,但是由于我的parentButtonClick()
里面还作了很多事情,在showModalDialog前有很多,之后也有很多,所以不可能让这些代码都在javascript里面实现。无论怎样,都很感谢你
里面还作了很多事情,在showModalDialog前有很多,之后也有很多,所以不可能让这些代码都在javascript里面实现。无论怎样,都很感谢你
#15
谢谢上面回答问题的朋友,谢谢。不过还没有好的解决方法出现。
#16
str=showModalDialog(str,"",strFeatures); //弹出窗口,至于具体用法,我以前回答过类似的帖子你自己搜索下!!!!!
__doPostBack('btnRefresh', '');//这个别人写错了
--这个方法可行,那我讲个具体思路
上面的代码都是js代码
根据你说 的你可以这样来做,弹出窗口后需要执行的后台代码放在另外一个按钮的后台事件里面!通过前台对关闭弹出窗口返回给前台str变量的值来决定是否执行document.all.Button2.click();!!
__doPostBack('btnRefresh', '');//这个别人写错了
--这个方法可行,那我讲个具体思路
上面的代码都是js代码
根据你说 的你可以这样来做,弹出窗口后需要执行的后台代码放在另外一个按钮的后台事件里面!通过前台对关闭弹出窗口返回给前台str变量的值来决定是否执行document.all.Button2.click();!!
#17
学习中~~