C#和showModalDialog的问题,在先等待,立刻给分!

Meditate 2003-05-24 10:10:05
A(a.aspx)页面在B页的事件触发下,通过showModalDialog弹出显示。

B(index.htm)页是Frame形式的页面!

B页Frame形式如:|FrameA|FrameB|FrameMain|

框架FrameMain:Main.aspx

问题:在A(a.aspx)页面在showModalDialog关闭时,将框架FrameMain刷新,并将A(a.aspx)页面的传参数给Main.aspx。

谢谢!!
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolmars 2003-05-25
  • 打赏
  • 举报
回复
我的代码放在unload里!
ArLi2003 2003-05-25
  • 打赏
  • 举报
回复
哭。。。

你不会在程序里直接用:

<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1="<%response.write(MyVar)%>'">

其中的MyVar 就是你在C#里的参数。。

例 a.aspx 内容如下,比如你要传MyVar 参数:

<html>

<script>
var a = "<%response.write(MyVar)%>";
function reHref(Obj){
var str = "";
str += "a=" + a; //第一个参数,来自C#代码
str += "&b=" + Obj; //第二个参数,就是你要的确定取消
window.opener.top.FrameMain.location.href='Main.aspx?' + str;
}
</script>


<body onunload="reHref(0)">

<input type="button" name="btn1" value="确定" onclick="reHref(1)">
<input type="button" name="btn1" value="取消" onclick="reHref(0)">

</body>
</html>
Meditate 2003-05-24
  • 打赏
  • 举报
回复
我要传的是两种情况的参数:在A(a.aspx)中点击“确定”按钮传回“1”;在A(a.aspx)中点击“取消”按钮传回“0”!

还望多多指点!
Meditate 2003-05-24
  • 打赏
  • 举报
回复
ArLi2003(阿利 无业悠民):
<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
我写的参数是个变量,怎莫通过C#写到<body>中!??
ArLi2003 2003-05-24
  • 打赏
  • 举报
回复
解决方法我上面不是说了?你三角哪混来的,晕

直接在你的a.aspx 中的body 加入

<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
ArLi2003 2003-05-24
  • 打赏
  • 举报
回复
coolmars(mars) 的方法不行,原因有

1)在a.aspx 一载入时就会生效并不会达到关闭时才触发的要求
2)a.aspx 是在一个新窗口并不在同一框架,所以只能使用window.opener

RegisterClientScriptBlock 作用是将strJava 做为javascript 脚本写到a.aspx,和手工写一样,手工更真观
Meditate 2003-05-24
  • 打赏
  • 举报
回复
coolmars(mars):
this.RegisterClientScriptBlock("key",strJava);
这段代码写到A(a.aspx)页面中吗?它是什莫意思我不太明白!
ArLi2003 2003-05-24
  • 打赏
  • 举报
回复
你的三角也不少我就不详细说明了

告诉你几个东东你应该可以理解的

1)window.opener 就是打开当前窗口的父窗口,比如

a.aspx 中 window.open('b.aspx'),在b.aspx 要调用父窗可以用:
window.opener.location.href= 'a.aspx?bUrl=' + escape(this.location.href);

要调用 a.aspx 窗体其它框架,可用:

window.opener.top.框架名.location.href="about:blank";

2)而在关闭时要触发可以在body 中使用unload 事件
比如

b.aspx

<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
coolmars 2003-05-24
  • 打赏
  • 举报
回复
//aa是传递的参数

string strJava;
strJava = "<script>window.parent.FrameMain.location.href='Main.aspx?aa=123;window.close();</script>";
this.RegisterClientScriptBlock("key",strJava);

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧