在这一节里,大家一同学习下mvc 2.0中的filter,简单的说,filter就是标记在action上的一些属性,来实现对action的控制。

mvc2.0中主要包括以下filter

1. Authorize

2.HandleError

3.RequireHttps

4.OutputCache

1. 首先说下Authorize

Authorize主要用来实现用户的授权与访问。

  1. [Authorize(Roles="Admins",Users="zx")]
  2. public ActionResult DellUser(string userName)
  3. {
  4. return View("about");
  5. }
 [Authorize(Roles="Admins",Users="zx")]
public ActionResult DellUser(string userName)
{
return View("about");
}

上面的代码表明DellUser这个action只能被角色为admins下的zx用户访问,其他用户和角色均被禁止访问

2.HandleError

  1. [HandleError(Order=1,ExceptionType=typeof(ArgumentException),View="Error")]
  2. [HandleError(Order=2,ExceptionType=typeof(Exception))]
  3. public ActionResult DellUser(string userName)
  4. {
  5. if (string.IsNullOrEmpty(userName))
  6. {
  7. thrownew ArgumentException();
  8. }
  9. return View("about");
  10. }
[HandleError(Order=1,ExceptionType=typeof(ArgumentException),View="Error")]
[HandleError(Order=2,ExceptionType=typeof(Exception))]
public ActionResult DellUser(string userName)
{
if (string.IsNullOrEmpty(userName))
{
throw new ArgumentException();
}
return View("about");
}

HandleError用作异常处理,其中order表示处理异常的顺序,数字越小,优先级越高。

ExceptionType表示异常类型

View表示出现异常后转向的页面.

3.OutputCache

  1. [OutputCache(Duration=60)]
  2. public ActionResult DellUser(string userName)
  3. {
  4. return View("about");
  5. }
      [OutputCache(Duration=60)]
public ActionResult DellUser(string userName)
{
return View("about");
}

OutputCache用来表示页面缓存,在WEBFORM时代,在ASP.NET页面中可以直接设置这个属性,在MVC中直接在ACTION上标记属性。

4. RequireHttps

  1. [RequireHttps]
  2. public ActionResult DellUser(string userName)
  3. {
  4. return View("about");
  5. }
   [RequireHttps]
public ActionResult DellUser(string userName)
{
return View("about");
}

RequireHttps表示DellUser这个action只能使用https协议才能访问,使用其他协议不行。

Asp.Net MVC 2.0 Filter基本用法的更多相关文章

  1. ASP.NET MVC 4.0的Action Filter

    有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你自定义创建action过滤器.Action过滤器是自定义的Attributes,用来 ...

  2. 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性

    [索引页][源码下载] 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 5.0 新 ...

  3. Spring MVC中各个filter的用法

    转载:http://blog.csdn.net/qyp1314/article/details/42023725 Spring MVC中各个filter的用法 2014-12-19 09:08 105 ...

  4. 返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller

    原文:返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller [索引页][源码下载] 返璞归真 asp.net mvc (7) - asp.net ...

  5. 返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test

    原文:返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test [索引页] [源码下载] 返璞归真 ...

  6. 返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor)

    原文:返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor) [索引页][源码下载] 返璞归真 asp.net mvc (9) - asp.ne ...

  7. 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API

    原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API [索引页][源码下载] 返璞归真 asp.net mvc (10) - asp.net ...

  8. 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性

    原文:返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 [索引页][源码下载] 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 ...

  9. ASP.NET MVC学习笔记-----Filter(2)

    接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...

随机推荐

  1. li排序

    html <ul id="ul1"> <li>9</li> <li>2</li> <li>7</li& ...

  2. [Servlet3.0新功能]注释替代配置文件

    作者信息 作者名称:金云龙 个人网站:http://www.longestory.com 个人公众帐号:搜索"longestory"或"龙哥有话说" 须要注意的 ...

  3. POJ--2923--Relocation--如压力DP

    Relocation Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2288   Accepted: 950 Descrip ...

  4. 大约C++ const 全面总结

    C++中的const关键字的使用方法很灵活,而使用const将大大改善程序的健壮性,本人依据各方面查到的资料进行总结例如以下,期望对朋友们有所帮助. Const 是C++中经常使用的类型修饰符,常类型 ...

  5. android代码集EditText只要输入号码、信

     如何设置EditText,因此,只有某些数字或字母可以进入它? 一.建立EditText,只要输入号码: 办法1:直接生成DigitsKeyListener了. et_1.setKeyListe ...

  6. Linux 的 Shell

    一个:Shell 概念 shell 这个词是不奇怪,意思是 "壳" 这是间OS 用户和芯层之间的相互作用,在linux系统.用户可以通过命令终端.使用shell 命令向下传达他们的 ...

  7. GoldenGate组态(四)它veridata组态

    GoldenGate组态(四)它veridata组态 环境: Item Source System Target System Platform Red Hat Enterprise Linux Se ...

  8. ftk学习记录(形成全屏幕套件)

    [声明:版权全部.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 好久不写博客了.今天续上. 可是,我们还是看一下上一期的执行结果, watermark/2/te ...

  9. Git现实(一个)版本控制概述

    从今天开始.我们了解的分布式版本控制系统Git相关内容.了解Git之前,我们的第一个版本控制系统,使宏观的描述. 什么是版本号控制 版本号控制是指通过对文件内容的变化进行记录,并为每次的变化进行编号, ...

  10. Mesos-error

    1,configure: error: cannot find libcurl 解决 yum install  curl-devel 版权声明:本文博客原创文章,博客,未经同意,不得转载.