zoukankan      html  css  js  c++  java
  • ASP.NET MVC3使用阶段汇总

        前段时间,参与了公司一个小项目。接触ASP.NET MVC时间不长,而且之前用的都是ASP.NET MVC1,但这个项目按要求,用的是
    ASP.NET MVC3。简单在网上搜了点资料,一般做一边学,经过一段时间的摸索,也算是稍微熟悉了些。
        在此将学习使用过程中,遇到的一些问题记录下来Mark一下。
    一、Razor 视图引擎
      关于这块网上有很多文章都做了专门介绍,非常详尽,有需要的可以baidu/Google搜一下!就我个人来说,感觉比较好的有以下这几点:
    • 语法清晰、简单 
    • Visual Studio 对于 Razor 提供了智能提示和语法着色 
    • @* * 注释语法 
    • Html.Raw 方法提供了没有进行 HTML 编码的输出 
    • 支持在多个视图之间共享代码 ( _viewstart.cshtml )
    这其中尤其是1、2两点,对于做过ASP.NET MVC1的人来说,那是相当的不错!!
    二、Model验证
         关于Model验证这块,多余的话不说了,直接贴上代码,相信大家一看就会发现这其中的优势
     1 [PropertiesMustMatch("NewPassword""ConfirmPassword", ErrorMessage = "新密码和确认密码不匹配。")]
     2     public class ChangePasswordModel
     3     {
     4         [DisplayName("编号")]
     5         public string StoreID { getset; }
     6 
     7         [DisplayName("当前密码")]
     8         [Required(ErrorMessage = "请输入当前密码")]
     9         public string OldPassword { getset; }
    10 
    11         [Required(ErrorMessage = "请输入新密码")]
    12         [DataType(DataType.Password)]
    13         [ValidatePasswordLength]
    14         public string NewPassword { getset; }
    15 
    16         [Required(ErrorMessage = "请输入确认密码")]
    17         [ValidatePasswordLength]
    18         [DataType(DataType.Password)]
    19         public string ConfirmPassword { getset; }
    20 
    21         [DisplayName("当前密码2")]
    22         [Required(ErrorMessage = "请输入当前密码2")]
    23         public string OldPassword2 { getset; }
    24 
    25         [Required(ErrorMessage = "请输入新密码2")]
    26         [DataType(DataType.Password)]
    27         [ValidatePasswordLength]
    28         public string NewPassword2 { getset; }
    29 
    30         [Required(ErrorMessage = "请输入确认密码2")]
    31         [ValidatePasswordLength]
    32         [DataType(DataType.Password)]
    33         public string ConfirmPassword2 { getset; }
    34     }
    三、ajax使用的注意
        这是Controller的一个Action方法,返回JsonResult
    1  public JsonResult IsExist(string Name)
    2         {
    3             JsonResult supjs = new JsonResult
    4             {
    5                 Data = myService.CheckStoreName(Name),
    6             };
    7             return Json(supjs, JsonRequestBehavior.AllowGet);
    8         }
        用MVC1时,,View直接使用即可,如
    1 $.getJSON('/Ajax/IsExist/', { Name: Name },
    2                         function (json) {
    3                             result = json;
    4                         });
    5             if (result == true) {
    6                 alert("你添加的已存在,请重新添加");
    7                 document.getElementById("Name").focus();
    8                 return false;
    9             }
        但MVC3,View使用时,需相应的修改成:result.Data而不能直接用result
  • 相关阅读:
    golang删除数组某个元素
    golang用通道实现信号量,控制并发个数
    什么是ScaleIO中的forwards rebuild和backwards rebuild?
    SQL Server中的database checkpoint
    如何将thick provision lazy zeroed的VMDK文件转换为thick provision eager zeroed?
    LoadTestAgentResultsLateException in VS2010
    SQL Server Instance无法启动了, 因为TempDB所在的分区没有了, 怎么办?
    VMware vCenter中, 如何辩认虚机上Raw Device Mapping过了的一块物理磁盘?
    SQL Server AlwaysOn Setup Step-By-Step Guide
    TPC-E在populate测试Database时需要注意的一些事项
  • 原文地址:https://www.cnblogs.com/xpengfee/p/2579172.html
Copyright © 2011-2022 走看看