2010-10-13 38 views
10

ASP.NET 4.0引入了属性'ClientIDMode',该属性允许指定HTML元素的id如何在输出html中呈现。验证程序和ClientIDMode问题(ASP.NET)

我的项目是当前设置为“静态”(最短的/不包含任何层次的id)

当使用任何验证器(RequiredFieldValidatorRegularExpressionValidator ...),除非它确认明确的控制有它的属性ClientIDMode: AutoID我得到的错误:

Input parameter 'controlId' cannot be an empty string.

这是预期的行为?

编辑:对于错误消息,我希望把一个id放在Validator上,我明显不这样做(除非我需要引用它)。

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

回答

3

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

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