0
のダイナミックカスタムクライアントサイドバリデーターを追加する方法私は、ASP.NETで動的に作成されるテキストボックスコントロールを持っています。これらのコントロールに動的にカスタムバリデータを追加したいと思います。これらのバリデータは、クライアント側で実行する必要があります。私は次のコードスニペットを持っています:asp.net
protected override void InitDynamicControls()
{
registerScript();
CustomValidator cv = new CustomValidator();
cv.ErrorMessage = "error";
cv.Display = ValidatorDisplay.Dynamic;
cv.ControlToValidate = TextField.ID;
cv.ValidationGroup = "ConfigurationValidation";
cv.ClientValidationFunction = "ConfigurationOption_ClientValidate";
base.Controls.Add(cv);
}
private void registerScript()
{
System.Text.StringBuilder script = new System.Text.StringBuilder();
script.Append("<script language=\"javascript\">\n");
script.Append("function ConfigurationOption_ClientValidate(source, arguments) \\{arguments.IsValid = false;\\}\n");
script.Append("</script>\n");
Type type = this.GetType();
if (!Page.ClientScript.IsClientScriptBlockRegistered(type, "ConfigurationOption_ClientValidate"))
Page.ClientScript.RegisterClientScriptBlock(type, "ConfigurationOption_ClientValidate", script.ToString());
}
JavaScriptのメソッドにはロジックが含まれています。メソッドInitDynamicControls()はPage_Loadメソッドにロードされます。ページ上のボタンをクリックすると、バリデータは実行されません。
何が間違っているのを助けてくれますか? おかげ
おかげで男は、2番目のオプションは魔法のように動作します! – zosim