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>"); } } }