MVC特性

MVC的一些特性,如下:

  1. BindAttribute(限制实体属性)
  2. RemoteAttribute(远程验证,需要页面使用jquery.validate.js和jquery.validate.unobtrusive.js)
  3. HandleErrorAttribute(根据异常类型直接跳转到相应的错误页面)
  4. HiddenInputAttribute(在Model中直接控制页面输入框显示,用处不大)

1.调用Controller中方法时,需要做一些额外的判断或者其他工作。例如:

//前端调用

$(function () {
            //发送异步请求实现登录
            $.post("/Home/checkLogin", {}, function (data) {
                alert(data);
            });
});

//Controller,在方法上面加上特性

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

 

转载于:https://www.cnblogs.com/Evan-Pei/p/10102990.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值