验证器和ClientIDMode问题(ASP.NET)

时间:2010-10-13 10:11:02

标签: c# validation

ASP.NET 4.0引入了属性“ClientIDMode”,允许用户指定如何在输出html中呈现html元素的id。

我的项目目前设置为“静态”(最短/不包含层次结构ID)

使用任何验证器(RequiredFieldValidatorRegularExpressionValidator ...)时,除非它明确验证的控件具有它的属性ClientIDMode:AutoID我收到错误:

  

输入参数'controlId'不能   一个空字符串。

这是预期的行为吗?

编辑:因为错误消息而变得愚蠢,它想让我在Validator上放一个id,我显然不这样做(除非我需要引用它)。

由于这个原因,它应该失败似乎很奇怪。

1 个答案:

答案 0 :(得分:3)

我以稍微不同的方式遇到了这个问题:如果我的用户控件有ClientIDMode="Static",我收到了控件中存在的验证器的错误(它们都没有ID)。

一种解决方法是在违规用户控件上切换ClientIDModes。希望这有帮助!