ASP网页设计ASP+的Form中反省填写是不是准确
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。asp+现在的贸易网站,大概团体网站,几都有客户查询拜访啊,用户注册之类的器材,一定会用到表单,这些表单的填写准确与否,分明是由手写代码的体例来把持的。我供认编写代码,是一项风趣的事情,不外每次考证表单都来手写代码,我们但愿进步我们的事情效力,并非把我们很无限的工夫花在表单的考证事情上。基于别的的一些缘故原由,Web使用程序很欠好考证用户的输出,HTML3.2标准可让你把持用户的反应,但歹意的大概手艺崇高高贵的用户能够绕过,因而即便有了扫瞄器真个手写代码,服务器端一样也必要考证,才干包管平安。
上面是微软的事情职员,给出的贸易网站用手写代码把持表单考证的弊端。
1.只管毛病信息或图标常常与输出元素相邻,可是它们几近老是位于表的分歧单位格中。
2.页面中常常会有一个地区来汇总一切毛病。
3.很多站点包括客户端剧本,以便供应更快速的反应,同时避免白白地在与服务器之间往复。
4.很多包括客户端剧本的站点在呈现毛病时会显现信息框。
5.不但会考证文本输出,还会考证下拉列表和单选按钮。
6.假如某个字段为空,站点一般会显现与该条目有效时分歧的信息或图标。
7.很多无效性反省能够很好地取代经常使用的表达式。
8.考证一般是基于两个输出之间的对照了局。
9.90%或90%以上的考证义务是一些罕见的操纵,比方反省姓名或邮政编码。年夜多半站点仿佛仍在反复举行这些事情。
10.由于站点之间的不同一般太年夜,没法取得一种完善的办理计划来处置每一个站点的一切考证义务。
假如你想向你的同事证明你有一种很"酷"的办法,能够克制在姓名字段内里输出空值,记得选择ASP.net,而且看上面的教程。
ASP.net举行表单考证的历程
1.aspx文件被编译,运转
2.用户输出数据
3.触发Page_Load事务
4.变动Web控件属性,提醒那里没有输出
5.将页面用Html从头输入给用户
6.再次提示用户输出
Page_Load历程
Page工具包括一些与服务器端考证有关的主要属性和办法。下表列出了Page_Load属性的一切Collect和methed。
Page_Load办法名申明
IsValid(最常常利用)这是最有效的属性。该属性能够反省全部表单是不是无效。一般在更新数据库之行进行该反省。只要Validators会合的一切工具全体无效,该属性才为真,而且不将该值存进缓存。
Validators该页一切考证工具的汇合。这是完成IValidator界面的工具的汇合。
Validate在考证时挪用的一种办法。在Page工具上默许的实行体例是转至每一个考证器,并请求各考证器自行评价。
用来考证表单的考证器(Web控件)
RequiredFieldValidator反省用户是不是输出或选择了任何内容
RegularExpressionValidator依据划定规矩表达式反省用户输出。该历程同意举行很多品种的反省,能够用于邮政编码和德律风号码等的反省。
CompareValidator将输出控件与一个流动值或另外一个输出控件举行对照。比方,它能够用在口令考证字段中。也能够用来对照输出的日期和数字。
RangeValidator与CompareValidator十分类似,只是它用来反省输出是不是在两个值或别的输出控件的值之间
CustomValidator同意用户编写本人的代码以到场到考证框架中。
实例申明下面所形貌的控件的运作
我们创建一个最小化的.aspx页面,我们不必要华美的润色效果。
<p>请输出新的用户ID和口令</p>
<formrunat=server>
<table>
<tr>
<td>用户ID</td>
<td><inputtype=textrunat=serverid=txtName></td>
</tr>
<tr>
<td>口令</td>
<td><inputtype=passwordrunat=serverid=txtPWord></td>
</tr>
<tr>
<td>请从头输出口令</td>
<td><inputtype=passwordrunat=serverid=txtRePWord></td>
</tr>
<table><br>
<inputtype=submitrunat=serverid=cmdSubmitvalue=Submit>
</form>
程序是一个十分刻薄的器材,以是,要夸大一切的项目都填写了,我们能够如许来做。在每个字段前增加RequiredFieldValidator。若输出字段为空,我们要在字段前显现一个星号(*),并在中间呈报毛病。
比方:
<tr>
<td>
<asp:RequiredFieldValidatorrunat=server
ControlToValidate=txtName
ErrorMessage="必要用户用户名。">*
</asp:RequiredFieldValidator>
</td>
<td>UserID:</td>
<td><inputtype=textrunat=serverid=txtName></td>
</tr>
没有输出任何内容,则在标签中间显现"*"。呈现堕落动静。"ControlToValidate"属性指定了必要考证的控件ID。最初一步是向页面顶部显现一切的堕落征象。
代码:
<asp:ValidationSummaryrunat=serverheaderText=此页有毛病:/>
然后,我们必要用户ID必需是6-10个字符,口令必需是4-12个字母,并且必需有@#$%^&*/的字符。
代码:这里我们增添了对ID长度的限定。
<td>
<inputtype=textrunat=serverid=txtName>
<asp:RegularExpressionValidatorrunat=server
ControlToValidate="txtName"
ErrorMesage="口令必需由6-10个字母构成。"
ValidationExpression="{6,10}"/>
</td>
接着,我们要考证两次输出的口令是不是一样。
<asp:RegularExpressionValidatorrunat=serverdisplay=dynamic
ControlToValidate="txtPWord"
ErrorMessage="口令必需包括@#$%^&*/中的一个。"
ValidationExpression=".*[@#$%^&*/].*"/>
<asp:RegularExpressionValidatorrunat=serverdisplay=dynamic
ControlToValidate="txtPWord"
ErrorMessage="口令必需是4-12个非空缺字母。"
ValidationExpression="[S{4,12}"/>
<asp:CompareValidatorrunat=server
ControlToValidate=txtRePWord
ControlToCompare=txtPWord
ErrorMessage="口令不婚配。"/>
默许情形下,CompareValidator只做复杂的字符串婚配对照。假如必要,它可举行触及日期和数字的更庞大的对照。
几个必要注重的成绩
关于剧本库
由于考证Web控件剧本在剧本库中,以是不用将一切客户端考证的代码间接发送到页面中,只管外表上仿佛是如许做的。次要的剧本文件援用相似以下所示:
<scriptlanguage="javascript"src="/_aspx/1.0.9999/script/WebUIValidation.js"></script>
默许情形下,剧本文件将安装在"_aspx"目次中默许的根目次下,并利用相对根的剧本include指令挪用,该指令以正斜线开首。该援用标明每一个独自的工具不用包括剧本库,统一台盘算机上的一切页面能够援用统一个文件。您会注重到,该路径中另有一个公用的言语运转时版本号,以便分歧的运转时版本能够在统一台盘算机上运转。
假如检察一下您默许的假造根目次,您会找到该文件并检察个中的内容。这些文件的地位在config.web文件中指定。config.web文件是一个用于年夜多半ASP+设置的XML文件。以下是该文件中地位的界说:
<webcontrols
clientscriptslocation="/_aspx/{0}/script/"
/>
勉励您浏览该剧本,以便深切懂得产生的事务。不外,倡议您不要修正这些剧本,由于它们的功效与特定的运转时版本严密相连。在运转时版本更新时,这些剧本大概也必要响应的更新,您将大概保持变动,大概面对剧本不事情的成绩。假如特定项目必需变动这些剧本,先备份这些剧本,然后将您的项目指向备份文件,办法是利用公有的config.web文件替换这些文件的地位。假如字符串中包括格局指令"{0}",运转时版本号将交换该指令。最好将该地位变动为一个绝对援用或相对援用。</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 那么,ASP.Net有哪些改进呢? 掌握asp的特性而且一定要知道为什么。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 那么,ASP.Net有哪些改进呢? 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
页:
[1]