首先这个没有什么好写的。因为网上搜一下一大把。记录在这里主要是这个因为不是经常用到,需要用到的时候一时又想不起来。
给它设置了一个单词叫 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);
}
}