ASP.Net 3.5 WebサイトのすべてのバリデータにCssClass値 "error"を設定します。私の最初の考えは、次のようなテーマスキンでこれを行うことでした:すべてのASP.Netバリデータをスキップする方法は?
<asp:CompareValidator runat="server"
CssClass="error" />
<asp:CustomValidator runat="server"
CssClass="error" />
<asp:RequiredFieldValidator runat="server"
CssClass="error" />
<belCommon:ZipCodeValidator runat="server"
CssClass="error" />
<belCommon:PhoneNumberValidator runat="server"
CssClass="error" />
これは私が使用するバリデータの部分的なリストです。
<asp:BaseValidator runat="server"
CssClass="error" />
をそして、すべてのバリデータがBaseValidatorから継承するため、私はこれがうまくいくことを期待するだろうが、それはしません。理想的には、私はこのような何かをしたいと思います。すべての単一のバリデータコントロールを明示的にスキンに追加することなくこれを達成する方法はありますか?
更新:
Iは、JavaScriptを使用して、異なるアプローチを発見した:
Sys.Application.add_init(function(sender, args)
{
if (Page_Validators != null)
{
for (i = 0; i < Page_Validators.length; i++)
{
Page_Validators[i].className = "error";
}
}
});
ASP.Netは、検証スパンのアレイであるPage_ValidatorsというJavaScript変数を生成します。このスクリプトは、それが存在するかどうかをチェックし、ループスルーしてクラス名を設定します。これをマスターページとこれまでの作業に加えました。
私はそれを恐れていました、ありがとう! – jrummell