dotnetbrowser内置了过滤器,所谓过滤器,就是实现了Action前后拦截,请看下例:

1、增加目录Filters,在该目录下增加新的过滤器PerformanceFilter,代码如下:

    public class PerformanceFilter : Filter
{
public override bool Before(Controller controller)
{
controller.Response.Write("action即将执行,当前时间为:" + DateTime.Now.ToString() + "<br>");
return true;
} public override void After(Controller controller, ActionResult result)
{
controller.Response.Write("<br>action执行完毕,当前时间为:" + DateTime.Now.ToString());
}
}

2、在UserController.cs里加入以下代码:

        [PerformanceFilter]
public void TestFilter()
{
Response.Write("action 执行中...");
}

3、按F5,输入以下地址,可以看到如下效果:


总结:您可以看到,过滤器可以在action前后执行,注意,before方法如果返回false,那么action以及after方法都不会被执行。

源码下载请浏览:http://www.cnblogs.com/chinasoft/p/8379662.html

DotnetBrowser高级教程-(4)使用MVC框架4-过滤器的更多相关文章

  1. DotnetBrowser高级教程-(4)使用MVC框架5-使用视图

    mvc框架理所当然的要支持view了,我们看下前面上传文件的地方,在展示页面时,我们使用了如下的代码: public string UploadImgPage() { return "< ...

  2. DotnetBrowser高级教程-(4)使用MVC框架1-搭建基础框架

    我们这次重点介绍下MVC框架的使用. 如果您之前使用过微软的mvc web框架,那么dotnetbrowser的mvc框架相信您也会很快上手,两者之间相似度约有80%. 所谓的mvc,以一个例子为例: ...

  3. DotnetBrowser高级教程-(4)使用MVC框架2-接收与返回模型

    在上一节,我们搭建了基本的mvc框架,这一节,我们将实现数据的接受与返回,具体操作如下: 1.新建Model目录,新增模型类Person.cs,代码如下: public class Person { ...

  4. DotnetBrowser高级教程-(4)使用MVC框架3-文件上传

    网站有时候需要上传文件,本节以上传一张图片为例,在UserController.cs里添加如下代码: public string UploadImgPage() { return "< ...

  5. DotnetBrowser高级教程-(5)使用内置的MVC UI框架-EasyMvc

    如果DotnetBrowser只是实现了内置chrome浏览器和web/web socket server,似乎还不是很完美.因此,最新的DotnetBrowser已经内置对easy mvc控件的支持 ...

  6. swift与OC混编高级教程之混编框架的创建和调用

    首先创建一个project取个名字叫“MyMixed”,选择iOS-framework&library-cocoa touch framework 然后在里面创建一个SwiftView.swi ...

  7. DotNetBrowser入门教程(更新完善中)

    DotNetBrowser 希望实现的目标:桌面软件可以完美运行Html5,内置支持MVC与WebSocket的微型服务器. 基于.Net 4.0开发.开发环境:VS2017,运行环境支持Window ...

  8. Spring(十六)之MVC框架

    MVC 框架教程 Spring web      MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业 ...

  9. .NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比

    在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)——初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比 ...

随机推荐

  1. [poj] 1066 Treasure Hunt || 判断直线相交

    原题 在金字塔内有一个宝藏p(x,y),现在要取出这个宝藏. 在金字塔内有许多墙,为了进入宝藏所在的房间必须把墙炸开,但是炸墙只能炸每个房间墙的中点. 求将宝藏运出城堡所需要的最小炸墙数. 判断点和直 ...

  2. code forces 996BWorld Cup

    B. World Cup time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  3. College student reflects on getting started in open source(二)

    My budding interest grew into a full-time obsession: creating artwork on my clunky, laggy laptop. 我萌 ...

  4. Runtime.getRuntime().exec方法

    Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令. Runtime.getRuntime().exec共有六个重载方法: public Process exec( ...

  5. new Date在ios下的兼容bug

    今天发现在ios下new Date("2019-03-06").getTime()返回NaN 原因是ios下不支持“-”必须用"/" 记录备忘 var d = ...

  6. DataTable 去重合并

    //合并 dt.Merge(dt2); //去重 dt = dt.AsDataView().ToTable(true);

  7. 编译gdb 报错 No module named gdb.frames

    将源码目录下的python模块拷贝到指定目录即可 cd /root/gdb-7.12/ cp -rp gdb/python/lib/gdb /usr/local/share/gdb/python/ 编 ...

  8. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)【转】

    转自:http://blog.csdn.net/leixiaohua1020/article/details/8652605 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] ...

  9. Git 的使用教程

    Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 安装Git 1.方法一:安装homebrew,然后通过homebrew安装Git. 第一步:在终端输入如下命令 ...

  10. jQuery中的each关键词

    #转载请留言联系 从一个简单的例子引入,jQuery里的each有什么作用? <!DOCTYPE html> <html lang="en"> <he ...