网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

使用VS2010和MVC2.0增强验证功能

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

1 2 3 4 5 6 下一页

  在开始之前,我不得不说明我已经安装了VS 2010 RC1,并使用它将老版本转换为ASP.net 4.0

  大多数情况下,当你接收到来自用户从form表单post来的信息后,你的验证代码往往会检查相应的值是否存在,数据类型是否正确以及数据的范围是否正确。至少,你应该保证每当一个函数接受用户输入时,就应该执行相应的验证逻辑。这意味着有些时候在整个程序中的不同位置,你会对同一个或者相似的值进行多次验证。比如说你想限制用户的姓氏不大于20个字符,那这样的验证需要在程序的好几个部分实现。直到Jan Vennegoor of Hesselink的出现(荷兰球队的一名球员,目前为doomed Hull City FC效力),在他的薪水还没有随着他服役的球队被降级以前,他来到你的网站想购买一个价值50,000英镑的耳环,他以他22个字符长度的姓氏注册,但他发现他的姓氏不在允许的范围之内时,他很气愤的离开你的网站并且给Web master留下不满的评论。很明显,你可不想让类似的情况出现,所以你不得不在你的程序中找到所有验证姓氏长度的相关代码,并一一修正以便能接受更长的姓氏……

  如果将验证代码放到一个集中的地方时,那类似上面所说的改变会不会变得更简单些?Model中的DataAnnotations正是为此而来,在MVC2.0中,这一特性被包含在内。

  DataAnnotations作为.net Framework的一部分已经有一段时间了,但是MVC2.0中增加了ModelMetaData类,这是储存MetaData的容器,默认会使用同样也是新增类的DataAnnotationsMetaDataProvider类。因为传入的值会由Action方法接受model binding作为匹配传入参数和action的参数而介入,在MVC2.0中,默认的model binder使用DataAnnotationsMetaDataProvider来获取metadata中model binder尝试匹配的对象,如果验证用的metadata存在,则其会通过对对象的属性和传入的值比较来进验证,这类meta由你通过使用标签 (Attribute)修饰属性来实现。

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号