利用继承解决每个 cs 文件的数据绑定问题
最近开始一个新的项目,几乎每个页面的 page_load 事件里都要写
Page_Load
1protected void Page_Load(object sender, EventArgs e) {
2 if (!this.IsPostBack)
3 Bind();
4 }
2 if (!this.IsPostBack)
3 Bind();
4 }
于是我想到
PageBase
1 public class PageBase : System.Web.UI.Page
2 {
3 protected void Page_Load(object sender, EventArgs e) {
4
5 if (!this.IsPostBack)
6 Bind();
7 }
8
9 protected void Page_Error(object sender, EventArgs e) {
10 Exception ex = Server.GetLastError();
11 //异常处理
12 Server.ClearError();
13 }
14
15 protected virtual void Bind() { }
16 }
17
2 {
3 protected void Page_Load(object sender, EventArgs e) {
4
5 if (!this.IsPostBack)
6 Bind();
7 }
8
9 protected void Page_Error(object sender, EventArgs e) {
10 Exception ex = Server.GetLastError();
11 //异常处理
12 Server.ClearError();
13 }
14
15 protected virtual void Bind() { }
16 }
17
然后在每个页面里继承自该 PageBase , 删掉 vs 自动生成的 Page_Load(object sender, EventArgs e) , 再重写 Bind() 方法:
Bind()
1 protected override void Bind() {
2 TextBox1.Text = "测试用例";
3 throw new Exception("用例错误!");
4 }
5
2 TextBox1.Text = "测试用例";
3 throw new Exception("用例错误!");
4 }
5
运行一下,页面都正常。