ASP.NET 4.0引入了属性“ClientIDMode”,允许用户指定如何在输出html中呈现html元素的id。
我的项目目前设置为“静态”(最短/不包含层次结构ID)
使用任何验证器(RequiredFieldValidator
,RegularExpressionValidator
...)时,除非它明确验证的控件具有它的属性ClientIDMode:AutoID我收到错误:
输入参数'controlId'不能 一个空字符串。
这是预期的行为吗?
编辑:因为错误消息而变得愚蠢,它想让我在Validator上放一个id,我显然不这样做(除非我需要引用它)。
由于这个原因,它应该失败似乎很奇怪。
答案 0 :(得分:3)
我以稍微不同的方式遇到了这个问题:如果我的用户控件有ClientIDMode="Static"
,我收到了控件中存在的验证器的错误(它们都没有ID)。
一种解决方法是在违规用户控件上切换ClientIDModes。希望这有帮助!