Asp.Net MVC 2.0 Filter基本用法
2024-08-26 13:04:38
在这一节里,大家一同学习下mvc 2.0中的filter,简单的说,filter就是标记在action上的一些属性,来实现对action的控制。
mvc2.0中主要包括以下filter
1. Authorize
2.HandleError
3.RequireHttps
4.OutputCache
1. 首先说下Authorize
Authorize主要用来实现用户的授权与访问。
- [Authorize(Roles="Admins",Users="zx")]
- public ActionResult DellUser(string userName)
- {
- return View("about");
- }
[Authorize(Roles="Admins",Users="zx")]
public ActionResult DellUser(string userName)
{
return View("about");
}
上面的代码表明DellUser这个action只能被角色为admins下的zx用户访问,其他用户和角色均被禁止访问
2.HandleError
- [HandleError(Order=1,ExceptionType=typeof(ArgumentException),View="Error")]
- [HandleError(Order=2,ExceptionType=typeof(Exception))]
- public ActionResult DellUser(string userName)
- {
- if (string.IsNullOrEmpty(userName))
- {
- thrownew ArgumentException();
- }
- return View("about");
- }
[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
- [OutputCache(Duration=60)]
- public ActionResult DellUser(string userName)
- {
- return View("about");
- }
[OutputCache(Duration=60)]
public ActionResult DellUser(string userName)
{
return View("about");
}
OutputCache用来表示页面缓存,在WEBFORM时代,在ASP.NET页面中可以直接设置这个属性,在MVC中直接在ACTION上标记属性。
4. RequireHttps
- [RequireHttps]
- public ActionResult DellUser(string userName)
- {
- return View("about");
- }
[RequireHttps]
public ActionResult DellUser(string userName)
{
return View("about");
}
RequireHttps表示DellUser这个action只能使用https协议才能访问,使用其他协议不行。
最新文章
- 《程序员的自我修养》读书笔记 - dllimport
- Android的常用adb命令
- SQL Server 行转列重温
- 微信电话本可免费拨打网络电话 通话一分钟约300K流量
- 【Android测试】【第一节】性能——CPU
- Class.forName(";ClassName";)与ClassName.class的区别
- 金蝶BOS
- python日志输出
- DedeCMS文章标题前增加所属栏目名称链接
- 几个字符串的误区,以及setlocale函数的使用
- java转换字符串编码格式 (解码错误,重新解码)
- Javascript进阶篇——(函数)笔记整理
- [转载+实践理解]Android动画---如何正确使用平移动画(关于fillBefore和fillAfter的一点说明)(转载)
- Ubuntu16.04下通过tar.gz包安装MySQL5.5.52
- c++中指针的指针和指针的引用的使用
- 【转】阿里云Linux系统被攻击的处理过程
- yii2.0中url重写实现方法
- 时钟晶振32.768KHz为什么是15分频?
- 3.4Code
- yii2-admin扩展自定义目录
热门文章
- Swing-email(转)
- Paint获取Text的宽和高的数据
- 举例说, Decorator模式(Decorator Pattern)
- json学习初体验--第三者jar包实现bean、List、map创json格式
- [LeetCode145]Binary Tree Postorder Traversal
- Object-C 新手教程
- 在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON
- python django模型内部类meta详细解释
- oracle学习笔记(转)
- HTML5 3D翻书效果(双面效应)