MVC的一些特性,以下:javascript
BindAttribute(限制實體屬性)
RemoteAttribute(遠程驗證,須要頁面使用jquery.validate.js和jquery.validate.unobtrusive.js)
HandleErrorAttribute(根據異常類型直接跳轉到相應的錯誤頁面)
HiddenInputAttribute(在Model中直接控制頁面輸入框顯示,用處不大)
1.調用Controller中方法時,須要作一些額外的判斷或者其餘工做。例如:前端
//前端調用java
$(function () { //發送異步請求實現登陸 $.post("/Home/checkLogin", {}, function (data) { alert(data); }); });
//Controller,在方法上面加上特性jquery
[evanPei]//MVC特性 public string checkLogin() { return "test"; }
//特性代碼,在HTML調用CheckLogin時,在方法的執行前和執行後會先執行特性中的代碼。例如判斷是否未登陸就調用方法。異步
public class evanPeiAttribute : FilterAttribute, IActionFilter { /// <summary> /// 執行後 /// </summary> /// <param name="filterContext"></param> public void OnActionExecuted(ActionExecutedContext filterContext) { if (1 > 2) { filterContext.HttpContext.Session.RemoveAll(); filterContext.HttpContext.Response.Write("<script language=javascript>111</script>"); } else { filterContext.HttpContext.Session.RemoveAll(); filterContext.HttpContext.Response.Write("<script language=javascript>222</script>"); } } /// <summary> /// 執行前 /// </summary> /// <param name="filterContext"></param> public void OnActionExecuting(ActionExecutingContext filterContext) { if (1 > 2) { filterContext.HttpContext.Session.RemoveAll(); filterContext.HttpContext.Response.Write("<script language=javascript>aaa</script>"); } else { filterContext.HttpContext.Session.RemoveAll(); filterContext.HttpContext.Response.Write("<script language=javascript>bbb</script>"); } } }