ASP.NET教程之ASP.NET MVC 2的客户端考证扩大
也不知道,我同学昨天说数据挖掘很好。</p>ASP.NETMVC2内置撑持在服务器上考证数据正文考证属性,本文先容怎样利用System.ComponentModel.DataAnnotations中的基本类构建自界说考证属性,关于ASP.NETMVC2中数据正文是怎样事情的,请参考Brad的博客(http://bradwilson.typepad.com/blog/2009/04/dataannotations-and-aspnet-mvc.html)。我会先容怎样毗连到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.99cents>=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);
[*]}
[*]}
我们还没有开启客户端考证,上面来看看当我们检察这个页面并提交一些值时会产生甚么。
我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 逐步缩小出错代码段的范围,最终确定错误代码的位置。
页:
[1]