惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
博客园 - 聂微东
量子位
C
Check Point Blog
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
B
Blog
罗磊的独立博客
腾讯CDC
GbyAI
GbyAI
博客园 - 【当耐特】
A
About on SuperTechFans
M
MIT News - Artificial intelligence
U
Unit 42
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队

博客园 - Sangplus

[转]C#单进程解决方案 extern alias 英语面试常用语 【转】FLASH轮换广告源码 走马灯的js代码 让Enumerable可以具有each方式的语法。 C#之扩展方法学习 使用非托管代码进行字节数组的快速拷贝 c#复习——虚方法、重写方法和抽象方法(官方解释) vs2005工具栏重置 一种实用的页面传参方法 所有HTTP状态代码及其定义 ASP.NET验证控件祥解[转] C#制作WinForm控件[转] 关于web.config的读写管理 关于SqlServer2005开发者版不同电脑之间的连接问题 JavaScript中有时候需要给this起一个别名。 不知不觉代码已经超过1万行了 javascript添加下拉列表和速度有关系吗?
关于RequiredFieldValidator的怪异现象
Sangplus · 2007-12-11 · via 博客园 - Sangplus

这个问题其实在cnblog和csdn上都问过,不过没有人给出过合理的解释,所以至今我还是觉得比较怪异。

我在页面动态添加了一个RequiredFieldValidator,其属性分别为:

Code

当inputTextbox为空的时候,提交验证的可以直接通过,但在服务器短的时候却报了错。
我调试时发现一个关键的地方就在于,在vs2005内部的脚本函数ValidatorValidate中,因一个判断(typeof(val.evaluationfunction) == "function")为false,从而使语句

Code

不能执行。
而实际上val.evaluationfunction="RequiredFieldValidatorEvaluateIsValid",RequiredFieldValidatorEvaluateIsValid呢,是一个函数,其作用就是判断验证输入控件inputTextbox的值是否为空。
用immediate窗口调试发现,RequiredFieldValidatorEvaluateIsValid(val)的值为false,即判断出那个输入控件为空了。
这究竟是为什么呢,因为代码vs2005中asp.net内部的,不是我写的,所以我十分的困惑。

另外:我担心是vs出了问题,所以我在另一个网页中重新作了一个静态的例子,这时却不存在这个问题。
我也担心,也许是因为母板邦定的时候,ControlToValidate弄错了监控对象得原因吧,但我从内部的各种调试结果来看,好像没有问题,ControlToValidate监控的对象应该就是我要控制的那个输入控件。
这个问题好怪异,因为这可是我以前调试通过,没有问题的代码。
也许别人都见怪不怪吧,对我来说,这的确是一个怪问题。