NET网页编程之详解ASP.NET MVC 2自界说考证
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。我会先容怎样毗连到ASP.NETMVC2的客户端考证扩大,以便你能够在客户端上运转JavaScript考证逻辑。我将创立一个PriceAttribute来考证某个值是不是年夜于指定的代价,而且这个代价必需以99分停止,因而$20.00是有效的值,$19.99是无效的。上面是这个属性的代码:
publicclassPriceAttribute:ValidationAttribute{
publicdoubleMinPrice{get;set;}
publicoverrideboolIsValid(objectvalue){
if(value==null){
returntrue;
}
varprice=(double)value;
if(price<MinPrice){
returnfalse;
}
doublecents=price-Math.Truncate(price);
if(cents<0.99||cents>=0.995){
returnfalse;
}
returntrue;
}
}
注重假如值为空,前往的值是true,这个属性不会考证字段是不是必要。我会在RequiredAttribute中考证值是不是必要。它同意我将属性放在可选的值上,当用户将这个字段留为空时显现一个毛病。
我们能够创立一个视图模子,然后使用这个属性到模子长进行疾速测试,上面是这个模子的代码:
publicclassProductViewModel{
publicdoublePrice{get;set;}
publicstringTitle{get;set;}
}
我们再疾速地创立一个视图(Index.aspx)显现和编纂窗体:
<%@PageLanguage="C#"Inherits="ViewPage"%>
<%using(Html.BeginForm()){%>
<%=Html.TextBoxFor(m=>m.Title)%>
<%=Html.ValidationMessageFor(m=>m.Title)%>
<%=Html.TextBoxFor(m=>m.Price)%>
<%=Html.ValidationMessageFor(m=>m.Price)%>
<inputtype="submit"/>
<%}%>
如今我们只必要一个有两个举动的把持器,一个编纂视图,另外一个吸收提交的ProductViewModel。
publicclassHomeController:Controller{
publicActionResultIndex(){
returnView(newProductViewModel());
}
publicActionResultIndex(ProductViewModelmodel){
returnView(model);
}
}
我们还没有开启客户端考证,上面来看看当我们检察这个页面并提交一些值时会产生甚么。
</IMG>可怜的程序员,还是逃不出移植的命运! 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
页:
[1]