码迷,mamicode.com
首页 > Web开发 > 详细

Asp.Net Mvc之模型注解

时间:2015-09-07 14:27:26      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

                                   Asp.Net Mvc之模型注解

正文:

     命名空间:

     using System.ComponentModel;
     using System.ComponentModel.DataAnnotations;

     在实体对象的属性上贴上相对应的特性标签(本质是通过反射得到特性标签的类实例,再进行相对应的业务逻辑处理判断),由于通过EntityFrameWork生成的xx.tt模板每次生成操作之后都会覆盖掉原有的修改,所以使用以下方法来对类对象贴上特性标签而且也保证不会被模板覆盖:

     新建一个类(这里叫StudentView)

     技术分享

     新建一个partial的Student类,这里的Student.cs的命名空间要和xx.tt模板的Student类的命名空间保持一致:

      技术分享

     下图是xx.tt模板的Student类文件:

      技术分享

      Note:在using System.ComponentModel.DataAnnotations;下有很多个特性标签可以使用;

     上图在System.Web.Mvc命名空间下的Remote特性标签作用是发Ajax请求到指定路径判断返回一个string确定是"true"还是"false",注意使用提交方式为post,使用get会有缓存的影响;

    技术分享

     接下来配合一系列由HtmlHelper提供的帮助方法实现展示:比如下图写法

     技术分享

     使用强类型:

     技术分享

       在上图中,@Html.DropDownListFor()中使用了两个ViewBag的传值:

     技术分享

       getSetInfo()和getClassInfo()的内容就是注释的内容;

       除此之外,还需要添加非嵌入式脚本的引用,这里我加到了ViewStart.cshtml文件下(此文件会在每个view的最上方渲染)

       技术分享

      Note:在webconfig文件下的appSettings需要注意两个子节点的配置

        技术分享

       需要打开非嵌入脚本和客户端检测的开关(true),默认是true.

     一般情况下在客户端检查合法性之外,在后台也需要再次检测:

     技术分享

        ModelState.AddModelError()的错误信息会在@Html.ValidationSummary()显示.

      技术分享

 

       补充一下关于View()的东西:

    技术分享

       可以根据全路径返回视图.

       在页面接收一个集合使用IEnumerable<T>强类型:

       技术分享

      

 

    

 

 

    

Asp.Net Mvc之模型注解

标签:

原文地址:http://www.cnblogs.com/Francis-YZR/p/4788667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!