ASP.NET MVCフィルター大全

2714 ワード

まずTestFilterという名前のFilterを作ります
public class TestFilter : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.HttpContext.Session["temp"] += "TestFilter OnActionExecuting
"; } public override void OnActionExecuted(ActionExecutedContext filterContext) { filterContext.HttpContext.Session["temp"] += "TestFilter OnActionExecuted
"; } public override void OnResultExecuting(ResultExecutingContext filterContext) { filterContext.HttpContext.Session["temp"] += "TestFilter OnResultExecuting
"; } public override void OnResultExecuted(ResultExecutedContext filterContext) { filterContext.HttpContext.Session["temp"] += "TestFilter OnResultExecuted
"; } }
一、Actionに適用するFilter
[TestFilter]//このFilterをActionに適用する
public ActionResult filteraction() { return View(); }
二、ControllerのFilter
FilterをControllerに適用するには2つの方法があります
1.次のように、Filterを直接Controllerに適用します.

[TestFilter]
public class EiceController : Controller
{
}

2.Controller内のOnActionExecution/onActionExecuted/onResultExecution/onResultExecutedの4つのメソッドを書き換える.
いくつかのシステムのFilterについてお話しします.
三、AcceptVerbs
ページのアクセス形式を指定します.

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Example(){
return View();
}

四、ActionName
アクションの名前を指定します.
適用シーン:メソッド名をAction名、またはAction名をキーワードにしたくない場合は、

[ActionName("class")]
public ActionResult Example(){
return View();
}

五、NonAction
現在のメソッドは通常のメソッドのみアクションとして解析されません
六、OutputCache
Actionのキャッシュの追加

[OutputCache(Duration = 60, VaryByParam = "*")]
public ActionResult Example()
{
return View();
}

七、ValidateInput
このActionはHtmlなどの危険コードを受け入れることができる(ASP.net MVCはaspxで<%@Pageの属性を設定して同等のタスクを完了できない.)

[ValidateInput(false)]
public ActionResult Example()
{
return View();
}

八、ValidateAntiForgeryTokenAttribute
サーバの改ざんを検証します.

[ValidateAntiForgeryToken]
public ActionResult Example()
{
return View();
}

 
 
 
原文住所:http://www.25175.com/200609/25175/25175_html/2010-07/3537.html
 
 
サイト開発_ホームページ制作サイトのメンテナンスネットショップ制作_ネットショップのインストール_ショッピングモール制作_携帯ソフト_企業WebサイトオフィスソフトウェアQQ:47126665点より健康的