界面说明:
父页面(CangKuEdit.aspx)中,按“新增”(id=imgbtnAdd),弹出CangKuAdd.aspx子页面。
子页面(CangKuAdd.aspx )中,按“确定”(id=btnSubmit),新增数据到数据库、关闭子页面、刷新父页面DataGrid 以反映数据的异动,注意只能刷新DataGrid,其他控件里输入的值要保留!
分两种情况:
一、 DataGrid直接写在父页面中
CangKuEdit.aspx
加上一段JS:
CangKuEdit.aspx.cs
在Page_Load中加上:
imgbtnAdd.Attributes.Add("ondblclick","doPostBack();");
imgbtnAdd.Attributes.Add("onclick","return openwin('"+txtBillNo.Text+"');");
CangKuAdd.aspx.cs
在在“确定”事件btnSubmit_Click中加上:
Response.Write("");
二、 DataGrid是父页面调用的用户控件(CCDataGrid.ascx,“新增”(id=imgbtnAdd)也在CCDataGrid.ascx中)
因为用户控件会在主页面控件之前被解析,
所以,用户控件的事件中,无法捕获主页面上的控件(如:
,原因是它还未被解析)。
CCDataGrid.ascx
加上一段JS:
CCDataGrid.ascx.cs
在Page_Load中加上:
imgbtnAdd.Attributes.Add("ondblclick","PostBack();");
在“确定”事件imgbtnAdd_Click中加上:
this.Page.RegisterHiddenField("IsOpenAddPage","true");
// 在用户控件的"新增"事件中注册一个隐藏控件:
CangKuEdit.aspx
在主页面的最底下写: