我在asp.net页面中有一个asp.repeater控件
在调试时,我可以看到它会自动生成一个带有“-” char的clientid,在这里我无法控制它,但现在对我来说还可以... ...>
...然后在ItemDataBound上,我使用RequiredFieldValidator控件,该控件在将其添加到转发器中后会继承该clientID
现在的问题是,RequiredFieldValidator使用该ClientId自动添加一些客户端Javavascript变量,并且在JavaScript触发语法错误时不允许使用特殊字符“-”
这是RequiredFieldValidator控件自动生成的Javascript
我该如何解决?据我所知,不可能通过代码设置ClientID,然后解决该问题?
下面,我在Chrome脚本调试器中添加了错误指示器的屏幕截图
我在asp.net页上有一个asp.repeater控件。在调试时,我可以看到它自动生成一个带有“-” char的clientid,在这里我无法控制它,但是对我来说这还可以。 ....然后打开...
我已经解决了。在Asp.Net 4.0上,可以对ClientID进行更多控制,对于我的问题,我已经使用父控件的ID进行了修复。实际上,子控件的ClientID是根据父控件的ID自动构建的。对于类似的问题,我还在ClientIDMode周围找到了其他解决方案。您可以完全控制ClienID,将父控件设置为ClientMode为静态,将子控件设置为Clientdict为Predictable。我发现的有用的帖子可以在这里阅读:https://weblog.west-wind.com/posts/2009/nov/07/clientidmode-in-aspnet-40