|
本帖最后由 szjazz 于 2014-8-24 19:18 编辑
我在可供继承的PageBase类里写了控件事件和添加了虚拟的方法:
- protected void btnAddNew_Click(object sender, EventArgs e)
- {
- FineUI.Button button = (FineUI.Button)sender;
- CustomPageFormKey=StringExt.DictJoin(GetSelectedRowDataKeyID(button),"{0}={1}","&");
- CustomPageFormId = GetButtonFormId(button);
- Add();
- BindData();
- }
复制代码- /// <summary>
- /// 添加记录
- /// </summary>
- protected virtual void Add() { }
复制代码- /// <summary>
- /// 绑定后加载页面主表数据
- /// </summary>
- protected virtual void BindData() { }
复制代码
然后在实例的页面里定义的窗口,- <f:Window ID="PopupWindow" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
- EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="1000px"
- Height="600px" OnClose="PopupWindow_Close">
- </f:Window>
复制代码
也重写Add、BindData方法:
- protected override void Add()
- {
- string IFrameUrl;
-
- if(CustomPageFormId==0)
- CustomPageFormId=FormId;
- IFrameUrl = string.Format("FormEdit.aspx?FormId={0}&FormKey={1}&Action=AddNew", CustomPageFormId,Server.UrlEncode(CustomPageFormKey));
- PopupWindow.Title = "客户管理系统CRM";
- PopupWindow.IFrameUrl = IFrameUrl;
- PopupWindow.Hidden = false;
- }
复制代码- protected override void BindData()
- {
- ......
- ......
- }
复制代码
可是发现执行完Button的事件内容后,BindData也重新绑定了,就是没有将Grid的内容重新更新过来!??
跟踪调试时发现Button事件执行到Add()语句,去执行实例页面的Add方法去弹出窗口,然后就继续执行BindData了,导致弹出窗口的窗口的页面还未结束,就结束了BindData,不知各位如何处理,请教!
我想原因可能出在弹出窗口的使用上,因为窗口设计运行时本身存在,只是去设置改变了属性,却未能停止程序的后续运行,不知三石先生是否考虑到这问题存在?
|
|