Javascript ASP.Net RequiredFieldValidator自定义EvaluationFunction属性
我的自定义ASP.Net RequiredFieldValidator呈现如下标记Javascript ASP.Net RequiredFieldValidator自定义EvaluationFunction属性,javascript,asp.net,validation,Javascript,Asp.net,Validation,我的自定义ASP.Net RequiredFieldValidator呈现如下标记 var af1_ctl00 = document.all ? document.all["af1_ctl00"] : document.getElementById("af1_ctl00"); af1_ctl00.controltovalidate = "af1_af1_txt"; af1_ctl00.display = "None"; af1_ctl00.evaluationfunction = "Requir
var af1_ctl00 = document.all ? document.all["af1_ctl00"] : document.getElementById("af1_ctl00");
af1_ctl00.controltovalidate = "af1_af1_txt";
af1_ctl00.display = "None";
af1_ctl00.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
af1_ctl00.initialvalue = "";
但是,似乎无法设置evaluationfunction属性。我需要这样做来调用一些自定义脚本
我试过以下方法
- 在呈现控件和属性时添加新属性
- 调用后跟属性的RemoveAttribute.Add
- 试图通过javascript重置它
如果我能得到一个在c代码中工作的解决方案,在渲染之前设置属性,这将是我所做的最好的解决方案。通过执行以下操作来解决 ASP.Net验证程序实际上在页面上定义了一个跨度,这是Javascript中的DOM对象。然后将属性添加到该对象。因此,在ASP.Net生成的代码中可以看到类似的内容
af1_ctl00.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
然后,您可以将一些javascript注入到您的页面中,使用您的代码隐藏中的page.ClientScript.Register(..)执行类似的操作
function NewValidationFunction() {
return (1 == 1);
}
var val = document.getElementById('af1_ct100');
val.evaluationfunction = NewValidationFunction;
验证函数现在已更改为使用您的自定义函数。通过执行以下操作解决 ASP.Net验证程序实际上在页面上定义了一个跨度,这是Javascript中的DOM对象。然后将属性添加到该对象。因此,在ASP.Net生成的代码中可以看到类似的内容
af1_ctl00.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
然后,您可以将一些javascript注入到您的页面中,使用您的代码隐藏中的page.ClientScript.Register(..)执行类似的操作
function NewValidationFunction() {
return (1 == 1);
}
var val = document.getElementById('af1_ct100');
val.evaluationfunction = NewValidationFunction;
验证功能现在已更改为使用自定义功能。请参阅中的我的答案请参阅中的我的答案