【问题标题】:ASP.Net RequiredFieldValidator custom EvaluationFunction propertyASP.Net RequiredFieldValidator 自定义 EvaluationFunction 属性
【发布时间】:2010-11-28 13:36:57
【问题描述】:

我的自定义 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 = "RequiredFieldValidatorEvaluateIsValid";
af1_ctl00.initialvalue = ""; 

但是,似乎无法设置 evaluationfunction 属性。我需要这样做来调用一些自定义脚本。

我尝试了以下方法。

  • 在呈现控件和呈现属性时添加新属性
  • 调用 RemoveAttribute,然后调用 Attributes.Add
  • 正在尝试通过 javascript 重置它。

似乎没有任何效果。

如果我能得到一个在 c# 代码中工作的解决方案,以便在渲染之前设置属性,那将是我所做的最好的事情。

【问题讨论】:

标签: javascript asp.net validation


【解决方案1】:

通过以下方式解决....

ASP.Net 验证器实际上在页面上定义了一个 span,它是 Javascript 中的一个 DOM 对象。然后他们将属性添加到该对象。所以你会在 ASP.Net 生成的代码中得到类似的东西。

af1_ctl00.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";

然后您可以在您的代码中使用 Page.ClientScript.Register(....) 将一些 javascript 注入到您的页面中...

function NewValidationFunction() {
    return (1 == 1);
}

var val = document.getElementById('af1_ct100');
val.evaluationfunction = NewValidationFunction;

验证函数现已更改为使用您的自定义函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多