javascript - ASP.NET- args.Value 的类型是什么

标签 javascript asp.net validation

自定义验证器具有称为 ClientValidationFunction 和 ControlToValidate 的属性。函数是这样的:

function MyValidationFunction(source,args) {
   if(args.Value==......)
}  

我知道这里的“source”是 ControlToValidate。但我不明白 args.Value 的类型是什么。它以什么作为值(value)。当 controltovalidate 是文本框时,我知道它是该文本框的文本,但如果控件是用户控件,它又是什么。所以我的问题是要验证的值(value)是什么,我们可以更改它吗?

最佳答案

显然,对于客户端验证,Value使用呈现的 HTML 控件的属性,这很有意义,例如,对于 TextBox控件,呈现为简单的 <input type="text"> (并且其 value 属性包含文本框的内容)。根据以下知识库文章,如果(自定义)控件由多个 HTML 控件组成,则客户端验证不可行:

NOTE: This article demonstrates how to extend the Calendar control for server-side validation only. For client-side validation to occur, the validation controls hook up to the corresponding HTML control's Value property. Because many HTML controls are used to build the Calendar control, no single HTML control contains the selected value for the Calendar control. Thus, client-side validation is not appropriate for the Calendar control.

顺便说一句,对于服务器端验证,您可以使用 ValidationProperty 属性来指定哪个属性用于验证。


编辑:根据this SO question , 如果你输出 <input type="hidden">作为用户控件的第一个控件,这将用于客户端验证。如果您愿意将实际控制值存储在那里,这可能是一个有用的解决方法。

关于javascript - ASP.NET- args.Value 的类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185098/

相关文章:

javascript - javascript 中 `Response.Redirect("~/abc.aspx") 的等效代码是什么?

javascript - Form To Wizard 和 Zurb Foundation 遵守验证

带有循环赋值的 Javascript 函数

javascript - JSP解析url并匹配关键词

javascript - 确定 HTML 组合框是展开还是折叠

javascript - 包含来自多个模块的 CSS (Sass)

javascript - Angular Directive(指令)不适用于输入类型 = "number"

javascript - JSONP 403 禁止

c# - 如何在asp.net web 应用程序中调用javascript 方法

c# - 获取 OU 的完全限定名称