让 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
(执行本范例,不用数据库)
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
(执行本范例,不用数据库)
相关文章推荐
- 实现Easyui文本框验证结果控制button启用/禁用
- 实现Easyui文本框验证结果控制button启用/禁用
- 基于jquery实现的服务器验证控件的启用和禁用代码
- 启用oracle密码文件验证方式登录
- ASP.NET中启用Windows集成验证,怎样在调用System.DirectoryServices下的组件时传递安全上下文,也就是说当前用户凭据,来实现权限管理
- 回发或回调参数无效,在配置中使用或在页面中使用启用了事件验证
- OnClientClick用法 单击服务器 button 前先调用 JS 验证剩余字数,超出返回,不执行后台
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。
- ASP.NET一个页面多个Button按钮事件避免数据验证控件RequiredFieldValidator冲突方法
- yii框架中配置redis并启用安全验证
- 回发或回调参数无效。在配置中使用 enableEventValidation=true或在页面中使用 启用了事件验证。
- asp.net 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的
- 回发或回调参数无效。在配置中使用 enableEventValidation=true或在页面中使用 启用了事件验证。
- 单点登录(十一)-----遇到问题-----cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema na
- win7 md5质询-windows 7 启用IEEE 802.1x 身份验证 md5质询
- 启用密钥验证登陆
- [Selenium]验证点了某个Button之后无反应
- 当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法
- 试图运行项目时出错:无法在web服务器上启动调试。调试失败,因为没有启用集成window身份验证.
- 验证控件与Button的OnClientClick事件 (转)