new starting point new beginning
学习、合作、共赢
    前段时间,参与了公司一个小项目。接触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
posted on 2012-07-06 11:46  xpengfee  阅读(159)  评论(0编辑  收藏  举报