您的位置:首页 > 其它

让 user control 中的 Button 也能启用验证

2008-07-20 14:44 127 查看
(本帖在版工的旧 Blog 中,发表日期为 2007/07/25)

User control (使用者控件) 可提升 ASP.NET 中操作界面与功能的复用性,尤其在 ASP.NET 2.0 中的使用机率比过去 ASP.NET 1.x 更高。日前版工做 project 遇到,需要把「储存、新增、修改」等 ImageButton 放在 user control 中,以便让各个页面中,可拖曳重复引用。但各个页面中的「验证控件」、验证用 JavaScript 和 Regular Expression,在按下 user control 中的「存储」ImageButton 送出后,默认并无法将未完成验证的请求阻挡下来;亦即就算使用者输入的数据不合法或未输入,「验证控件」中虽捉得到错误,但仍会被送至后台 server 去处理。因此版工在页面后台的代码中做了些判断,并开放此使用到「委托 (delegate)」和 Button-click 事件触发 (raise event)、C# 2.0 匿名方法的示例下载 (使用 C# / ASP.NET 2.0 撰写)。

// eventObject.someEvent += delegate() {

// 在此区块中做一些自订的处理,如本帖下载示例中的验证、存储工作

//};

// Create a handler for a 「SendMessage1」 event in user control

// C# 2.0 特有的「匿名方法 (anonymous method)」,可把整个 { }; 的

// 大括号 block 中的全部代码,都当作参数做传递

UcAuthBtnNew1.SendMessage1 += delegate(string message) {

  Page.Validate();

  if (Page.IsValid) {

    // 在这做各个页面的「新增、存储、修改」或各页中的专属动作

  }

};

-------------------------------------------------

本帖的示例源码下载点:

http://files.cnblogs.com/WizardWu/070725.zip

(执行本范例,不用数据库)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐