扩展类的方法 MVC格式返回选择器

  首先这个没有什么好写的。因为网上搜一下一大把。记录在这里主要是这个因为不是经常用到,需要用到的时候一时又想不起来。

给它设置了一个单词叫 Test.(测试,呵呵)。

原意是 T 代表方法的第一个参数一定是this.

E 表示 Extenstion

S表示 static 一定是静态的方法。当然在使用的时候,它一定是需要实例化后,才能使用的。

下面这个是在学习mvc的时候,是如果扩展一个方法来判断返回的格式。


  public static class HttpRequestBaseExtension

    {
        public static bool IsJsonRequest(this HttpRequestBase request)
        {
            return string.Equals(request["format"], "json");
        }

    }

格式返回选择器也一并记录在此


 public class MutipleResponseFormat:ActionFilterAttribute
    {
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var request = filterContext.HttpContext.Request;
            var viewResult = filterContext.Result as ViewResult;
            if (viewResult ==null){ return; }
            if (request.IsAjaxRequest())
            {
                filterContext.Result = new PartialViewResult()
                {
                    TempData = viewResult.TempData,
                    ViewData = viewResult.ViewData,
                    ViewName = viewResult.ViewName
                };
            }
            if (request.IsJsonRequest())
            {
                filterContext.Result = new JsonResult() { 
                 Data=viewResult.Model,
                 JsonRequestBehavior=JsonRequestBehavior.AllowGet
                };
            }
            //base.OnActionExecuted(filterContext);
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值