ASP.NET问题 父窗体打开模式窗口刷新的问题

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:30:13
父窗体有
Gridview展示数据,每行数据都有一个button,用于添加数据。
btnAdd.Attributes.Add("OnClick", "window.showModalDialog('StockINfoManager.aspx?proId=" + proid + "&state=add');window.loaction.reaload()");

问题是
弹出子窗体添加数据后
父窗体刷新后数据并没有改变。。。

父窗体绑定数据代码
if (!IsPostBack)
{
BindGv();
}
调试发现,子窗体关闭后父窗体刷新并没有进入到!isPostBack代码段。
为什么。
怎么解决呢??

你在页面上双击btnAdd,也就是创建btnAdd单击的方法,这个单击的方法跟你那个不同,你那个是客户端的,这个是服务端的,在方法里写上BindGv();
如:
protected void btnSave_Click(object sender, EventArgs e)
{
BindGv();
}

然后把你第一个代码中的window.loaction.reaload()去掉;然后改一下
如:
btnAdd.Attributes.Add("OnClick", "window.showModalDialog('StockINfoManager.aspx?proId=" + proid + "&state=add');");
如果有问题,你加个return 看看,如:
btnAdd.Attributes.Add("OnClick", "return window.showModalDialog('StockINfoManager.aspx?proId=" + proid + "&state=add');");

这样的话,你关闭子页,就会执行BindGv();里面的方法了

在子窗体保存数据后调用:this.Response.Redirect("父窗体url");

这样父窗体会从后台取数.通过Redirect还有个好处就是避免用户按F5刷新页面重复提交

把window.loaction.reaload() 改成:
window.loaction.href=window.loaction.href
reload()似乎有时不好使......你试试....