仓酷云

标题: ASP网页编程之办理CustomValidator控件不克不及考证控件值... [打印本页]

作者: 精灵巫婆    时间: 2015-1-16 22:58
标题: ASP网页编程之办理CustomValidator控件不克不及考证控件值...
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。办理|控件|成绩在论坛上看到有关CustomValidator控件考证控件值为空的成绩http://community.csdn.net/Expert/topic/3772/3772658.xml?temp=.9461634,恰好我也碰到过,办理办法就是不要指定CustomValidator控件的ControlToValidate,如许在提交的时分回举行考证
,代码以下:
<%@PageLanguage="C#"AutoEventWireup="True"%>

<html>
<head>
</head>
<body>

<formrunat="server"id="Form1">
<asp:TextBoxid="Text1"
runat="server"/>

<asp:CustomValidatorid="CustomValidator1"
ClientValidationFunction="ClientValidate"
Display="Static"
ErrorMessage="不克不及为空!"
ForeColor="green"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
<br/>
<asp:Buttonid="Button1"
Text="Validate"
runat="server"/>
</form>

</body>
</html>

<scriptlanguage="javascript">
<!--
functionClientValidate(sender,args)
{
if(Form1.Text1.value.length<=0)
{
args.IsValid=false;
}else{
args.IsValid=true;
}
}
//-->
</script>

成绩剖析:
与一切别的考证控件相似(RequiredFieldValidator除外),假如输出字段为空,则以为CustomValidator无效。以是形成CustomValidator没有举措考证空值,让ControlToValidate为空,客户端函数每次实验提交时总会触发一次,如许就能够完成在提交时考证控件为空
以下信息摘自MSDN:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemWebUIWebControlsCustomValidatorClassTopic.asp


注重假如输出控件为空,则不会挪用任何考证函数,而且考证将乐成。利用RequiredFieldValidator控件请求用户在输出控件中输出数据。
能够在不设置ControlToValidate属性的情形下利用CustomValidator控件。这类情形一般呈现在考证多个输出控件或是考证没法与考证控件一同利用的输出控件(如CheckBox控件)时。这类情形下,传送给ServerValidate事务的事务处置程序及客户端考证函数的arguments参数的Value属性将一直包括一个空字符串("")。可是,符合时仍将挪用这些考证函数,以断定服务器和客户真个无效性。若要会见举行考证的值,您必需经由过程编程体例援用所要考证的输出控件,然后从响应的属性中检索该值。比方,若要考证服务器上的CheckBox控件,请不要设置考证控件的ControlToValidate属性,并将以下代码用于ServerValidate事务的处置程序。


用处:
您大概会说既然不为空,干吗不必RequiredFieldValidator,固然是有缘故原由的,好比我有个复选框,我想完成只要选择这个复选框的时分才请求某个文本框不为空,如许我就能够用上面的代码了:
<%@PageLanguage="C#"AutoEventWireup="True"%>

<html>
<head>
</head>
<body>

<formrunat="server"id="Form1">
<asp:CheckBoxid="CheckBox1"runat="server"></asp:CheckBox>
<asp:TextBoxid="Text1"
runat="server"/>

<asp:CustomValidatorid="CustomValidator1"
ClientValidationFunction="ClientValidate"
Display="Static"
ErrorMessage="不克不及为空!"
ForeColor="green"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
<br/>
<asp:Buttonid="Button1"
Text="Validate"
runat="server"/>
</form>

</body>
</html>

<scriptlanguage="javascript">
<!--
functionClientValidate(sender,args)
{
if(Form1.CheckBox1.checked&&Form1.Text1.value.length<=0)
{
args.IsValid=false;
}else{
args.IsValid=true;
}
}
//-->
</script>


</p>写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)
作者: 柔情似水    时间: 2015-1-20 06:57
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者: 简单生活    时间: 2015-1-26 23:28
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 莫相离    时间: 2015-1-28 05:53
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 再见西城    时间: 2015-2-5 12:11
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者: 愤怒的大鸟    时间: 2015-2-11 19:08
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 小妖女    时间: 2015-3-2 17:25
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 海妖    时间: 2015-3-11 04:49
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
作者: 金色的骷髅    时间: 2015-3-17 20:56
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 只想知道    时间: 2015-3-25 02:34
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2