所以,这就是我的情况。我有多个 ASPX 页面(总共 11 个),每个页面都包含一组不同的专用于这些页面的字段。
我实现的方式是在所有这些页面上复制相同的代码,进行一些修改并执行。前任。在第 1 页删除 Page01 按钮的任何处理,在第 2 页我删除 Page02 按钮的事件处理程序......等等。
好消息?这很好用(回发、保存等)。坏消息?这很乏味,尤其是当我必须向控件 ASCX (TMControl.ASCX) 添加新事件时。然后,我必须重新编码所有这 11 个 ASPX 页面,将它们连接到 ASCX 等。人。
问题:有没有办法以一种我不重复努力的方式做到这一点?
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "...";
wucTMControls = LoadControl("TMControls.ascx") as TMControls;
wucTMControls.btnPage02Click += new EventHandler(wucTMControls_btnPage02Click);
wucTMControls.btnPage03Click += new EventHandler(wucTMControls_btnPage03Click);
//-----------
// similar lines of eventhandling code exists here for pages 4 thru 11,
// which I removed for readability
//-----------
wucTMControls.btnSavePageClick += new EventHandler(wucTMControls_btnSavePageClick);
wucTMControls.btnSavePayeeClick += new EventHandler(wucTMControls_btnSavePayeeClick);
phTMControls.Controls.Add(wucTMControls);
if (!IsPostBack)
{
loadPage01();
}
}
void wucTMControls_btnPage02Click(object sender, EventArgs e) { if (noChangesOnThisPage()) wucTMControls.btnPage02Clicked(); }
void wucTMControls_btnPage03Click(object sender, EventArgs e) { if (noChangesOnThisPage()) wucTMControls.btnPage03Clicked(); }
//-----------
// similar lines of eventhandler code exists here for pages 4 thru 11,
// which I removed for readability
//-----------
void wucTMControls_btnSavePayeeClick(object sender, EventArgs e) { }