注册 登录
编程论坛 ASP.NET技术论坛

[求助]关闭子窗体,刷新父窗体的问题,有点郁闷!

606liutong 发布于 2007-07-27 15:37, 2652 次点击
第一种方法:
<body onload="LoadPage()"; onunload="window.opener.location.reload();">//子窗体一动,就随着刷新
第二种方法:
function Unload()
{
window.opener.location.href="###.aspx";
window.close();
}
<body onload="LoadPage()"; onunload="Unload();"> //子窗体一动,就随着刷新
第三种方法:
protected void Page_Unload(object sender, EventArgs e)
{
Response.Write("<script>window.opener.location.Reload();window.close();</script>");//报错,无法执行
}
第四种方法:
protected void Page_Unload(object sender, EventArgs e)
{
Page.RegisterStartupScript("","<script>window.opener.location.Reload();window.close();</script>");没反应
}
我想要的结果是 必须子窗体在关闭的时候,父窗体才刷新, 并不是随着子窗体的改变而刷新
13 回复
#2
冰彩虹2007-07-27 15:46

<asp:Button ID="btn" runat="server" CausesValidation="False" Text="从合同批量导入" OnClientClick="OnQueryClick();" OnClick="PlatformButton1_Click" />


function OnQueryClick()
{
var address = "ui_cm_cc_024.aspx";
var parameter1 = "";
var OpenStyle = "dialogWidth:650px;dialogHeight:550px;dialogLeft:200px;dialogTop:150px;center:yes;help:false;resizable:false;status:false";

var returnValue = window.showModalDialog(address,parameter1,OpenStyle);
}
点击按钮会先运行OnClientClick打开窗口,关闭之后运行OnClick服务器端事件(页面数据刷新代码就放这里面)

试试看

#3
606liutong2007-07-27 15:52

不太理解什么意思

#4
jyoseyi2007-07-27 16:42

2楼是说把刷新写PlatformButton1_Click在这个事件里

#5
冰彩虹2007-07-28 00:45
以下是引用jyoseyi在2007-7-27 16:42:12的发言:

2楼是说把刷新写PlatformButton1_Click在这个事件里

对头对头,

#6
606liutong2007-07-28 08:48

可是服务器端控件没有OnClientClick()事件啊

它的是OnClick()事件 而且OnCLick()事件我写的是弹出模态窗口

function btnSearchCom(btn)
{
var address1 = "ModelCom.aspx?cba= "+encodeURI(btn.value);
var OpenStyle1 = "center:yes;help:false;resizable:false;status:false";
window.open(address1,"",OpenStyle1);
}

<input id="Button1" type="button" value="检查仪器" runat="server" onclick="btnSearchCom(this)"/></td>

也就是说着个控件只能有一个有效事件,你怎么写了两个啊

OnClientClick()事件是做什么用的?

#7
冰彩虹2007-07-28 10:29
你用web服务器端控件<asp:Button ID="btn" runat="server" CausesValidation="False" Text="从合同批量导入" OnClientClick="OnQueryClick();" OnClick="PlatformButton1_Click" />
(OnClientClick调用的是js的function,而OnClick调用的是cs里的方法哈)

你的<input id="Button1" type="button" value="检查仪器" runat="server" onclick="btnSearchCom(this)"/>是Html服务器控件
#8
606liutong2007-07-28 12:22

我知道什么意思了
我也这样实验过

这样的结果就是 点击这个按钮 子窗体就会自动关闭,当然母窗体会刷新

我想要的是点击窗体右上角的关闭按钮的时候 才发生事件,使母窗体刷新

#9
冰彩虹2007-07-28 20:01
你子窗体写的什么代码,可以贴出来看看吗
#10
606liutong2007-07-30 10:45


我的子窗体一共822行代码

其中有 添加 删除 修改 SelectedIndexChanged 事件

#11
冰彩虹2007-07-30 10:54

浏览器是不是设置屏蔽弹出窗口了......

#12
cyyu_ryh2007-07-30 11:53
2楼说的就是再绑定下数据吧
#13
606liutong2007-07-30 17:07

是的 已经屏蔽了

不然没法用事件

#14
jyoseyi2007-07-30 18:00
一个页面不要什么都写在里面,代码那么多,自己都难找,更别说别人老!
1