关于自定义客户端验证脚本同时和服务器控件关联的一些心得
2004-05-17 14:29
435 查看
.NET为我们提供了不少验证控件,一定程度上减少了程序员在开发上的工作量,但是有很多时候我们往往会需要自定义一些自己的验证流程,而无法通过.NET中所提供的验证控件来完成。通常验证的话,分为客户端和服务器端验证,这里我们所提到的验证都是指客户端验证。
最常见的做法便是自己写一段JavsScript脚本,根据验证是否通过返回true或者是false。然后通过controlID.Attribute[“事件“] = “JavaScript:FunctionName():”;来使服务器控件被触发的时候调用该JavaScript脚本函数。但是这样写,会有一个问题,那便是当这个页面上存在其它的.NET验证控件的时候,一旦通过自定义的脚本函数验证之后,将不会执行服务器验证控件的验证。
也就是说,当controlID.Attribute[“事件“] 的值若被置为true的时候,编译器便认为已经通过了所有的验证,包括.NET的验证控件,便不再进行验证,直接将空间中的代码送到服务器执行。但是这时其实尚未执行.NET的验证控件的验证。但只要我们把代码稍做改变,当执行完自定义的验证之后,依然可以继续执行.NET验证控件的验证。
Function Validate()
{
if(....) //若通过验证
{ return true;}
else
{return false;}
}
随后我们在后代代码中加上
controlID.Attribute[“事件“] = “JavaScript:if(!FunctionName()){return false;}:”;若没有通过我们的自定义验证,返回false,控件将不会被提交到服务器执行,否则,便继续执行页面上其他空间的验证。
有时候适当的进行一下逆向思维,往往会起到出其不意的效果。
最常见的做法便是自己写一段JavsScript脚本,根据验证是否通过返回true或者是false。然后通过controlID.Attribute[“事件“] = “JavaScript:FunctionName():”;来使服务器控件被触发的时候调用该JavaScript脚本函数。但是这样写,会有一个问题,那便是当这个页面上存在其它的.NET验证控件的时候,一旦通过自定义的脚本函数验证之后,将不会执行服务器验证控件的验证。
也就是说,当controlID.Attribute[“事件“] 的值若被置为true的时候,编译器便认为已经通过了所有的验证,包括.NET的验证控件,便不再进行验证,直接将空间中的代码送到服务器执行。但是这时其实尚未执行.NET的验证控件的验证。但只要我们把代码稍做改变,当执行完自定义的验证之后,依然可以继续执行.NET验证控件的验证。
Function Validate()
{
if(....) //若通过验证
{ return true;}
else
{return false;}
}
随后我们在后代代码中加上
controlID.Attribute[“事件“] = “JavaScript:if(!FunctionName()){return false;}:”;若没有通过我们的自定义验证,返回false,控件将不会被提交到服务器执行,否则,便继续执行页面上其他空间的验证。
有时候适当的进行一下逆向思维,往往会起到出其不意的效果。
相关文章推荐
- 关于asp.net中为服务器控件添加客户端属性的心得
- 关于学习MSDN中"创建自定义字段类型和字段控件"的一些心得跟问题。
- 服务器控件的客户端验证脚本
- ASP.NET服务器验证控件和JS自定义验证同时使用(小技巧)
- 让服务器控件的事件同时执行客户端脚本和服务器端代码-转载
- 关于checkBox的服务器控件和客户端控件的一些用法和区别。。。
- 服务器控件的学习-生成用于回发的客户端脚本
- 从 ASP.NET 服务器控件插入客户端脚本
- 【记录】自定义服务器验证控件
- 自定义viewgroup实现自动换行的布局,同时解决自定义布局在wrapcontent下高度不能自适应的问题,plus一些关于Component重写的基础知识
- 使用客户端脚本完成页面回传,执行服务器事件的同时,按钮呈灰色不可用状态
- 从 ASP.NET 服务器控件插入客户端脚本
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- 自定义服务器控件开发之1:重写的支持多验证TextBox控件
- ASPNET服务器控件和客户端脚本
- 从 ASP.NET 服务器控件插入客户端脚本
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- Javascript脚本和asp.net验证控件同时验证的代码
- 服务器控件使用客户端脚本
- 学习心得--客户端获得服务器控件的ID