2010-10-13 66 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。希望這可以幫助!