免费刷金币,请点击这里
TE社区 > 后端开发
客服QQ:1206116161

ASP.NET mvc4中的过滤器的使用

那些甜言蜜語 于 2018-02-05 22:00:15 创建话题
(44)
(0)
举报

mvc4中的过滤器

过滤器(Filter)把附加逻辑注入到MVC框架的请求处理。实现了交叉关注。

交叉关注:用于整个应用程序,又不适合放在某个局部位置的功能。

过滤器是.NET的注解属性(Attribute),它们对请求处理管道添加了额外的步骤。

注解属性是派生于System.Attribute的特殊的.NET类。

可以被附加到类、方法、属性、字段等代码元素上。其目的是把附加信息嵌入到已编译的代码中,以便在运行时读回这些信息。

过滤器的基本类型:

过滤器类型

接口

默认实现

描述

Authorization

IAuthorizationFilter

AuthorizationAttribute

最先运行

Action

IActionFilter

ActionFilterAttribute

在动作方法前后运行

Result

IResultFilter

ActionResultAttribute

在动作结果被执行前后

Exception

IExceptionFilter

HandlerErrorAttribute

仅在过滤器、动作发生异常时

授权过滤器:IAuthorizationFilter

namespace System.Web.Mvc{

  // 摘要:定义授权筛选器所需的方法。

  public interface IAuthorizationFilter{

    // 摘要:在需要授权时调用。

    // 参数:filterContext:筛选器上下文。

    void OnAuthorization(AuthorizationContext filterContext);

  }

}

注意:

直接实现接口其实是一件非常危险的事;因此创建一个自定义AuthorizeAttribute子类,再实现授权代码比较容易。

public class CustomAuthAttribute:AuthorizeAttribute{

    /// <summary>

    /// 是否对请求进行授权访问的方式

    /// </summary>

    /// <param name="httpContext">对请求信息进行访问的方法</param>

    protected override bool AuthorizeCore(HttpContextBase httpContext){

      return base.AuthorizeCore(httpContext);

    }

}

直接实现IAuthorizationFilter接口的主要原因是为了获取对传递给OnAuthorization()的AuthorizationContext的访问,通过它可以获得更广泛的信息(路由细节、当前控制器和动作方法信息)。使用接口的方式不仅有安全风险且让授权注解属性中建立的逻辑与控制器紧密的耦合在一起,破坏关注分离,不便于维护。

内建的授权过滤器:

虽然使用了AuthorizeAttribute类作为自定义过滤器的基础,但其AuthorizeCore()有自己的实现

当直接使用AuthorizeAttribute时,可以使用它的public属性来指定授权策略

AuthorizeAttribute属性

名称

类型

描述

Users

String

一个逗号分隔的用户名列表,指定这些用户可以访问动作方法

Roles

String

一个逗号分隔的角色列表,用户必须至少有一个角色

public class HomeController : Controller{

    [Authorize(Users ="admin,steve,jacqui",Roles ="admin")]

    public ActionResult Index(){

      return View();

    }

}

异常过滤器:

namespace System.Web.Mvc{

  // 摘要:定义异常筛选器所需的方法。

  public interface IExceptionFilter{

    // 摘要:在发生异常时调用。

    // 参数:filterContext:

    //   筛选器上下文。

    void OnException(ExceptionContext filterContext);

  }

}

当一个未处理的异常出现时,OnException()被调用。该方法的参数是一个ExceptionContext 对象,此对象派生于ControllerContext,并提供了许多有用的属性。

名称

类型

描述

Controller

ControllerBase

返回请求的控制器对象

HttpContext

HttpContextBase

提供对请求细节的访问及对响应的访问

IsChildAction

Bool

若是自动做则返回true

RequestContext

RequestContext

提供对HttpContext和路由数据的访问

RouteData

RouteData

返回请求的路由数据

继承自ControllerContext的属性

名称

类型

描述

ActionDescripter

ActionDescripter

提供动作方法的细节

Result

ActionResult

用于动作方法的结果,通过非空值可取消请求

Exception

Exception

未处理的异常

ExceptionHandled

Bool

如果另一个过滤器已经把这个异常标记为已处理则返回true

实现自定义异常过滤器

public class RangeExceptionAttribute : FilterAttribute, IExceptionFilter{

    public void OnException(ExceptionContext filterContext){

}

}

使用内建的异常过滤器:

HandleErrorAttribute属性

名称

类型

描述

ExceptionType

Type

由过滤器处理的异常类型

View

String

该过滤器渲染的视图模板名

Master

String

在渲染这个过滤器的视图时使用的布局名称

准备工作:

在web.config文件中启用自定义错误时,HandleErrorAttribute过滤器才会生效,在<system.web>节点中添加一个customErrors属性即可;

<system.web>

 <!--定制错误页aa.html-->

  <customErrors mode="On" defaultRedirect="/Content/aa.html" />

 </system.web>

Mode属性的默认值是RemoteOnly在开发期间,HandleErrorAttribute将不会拦截异常,但当应用程序部署到产品服务器时,并从另一台计算机发出请求时HandleErrorAttribute变生效

 [HandleError(ExceptionType =typeof(ArgumentNullException),View ="Null")]

    public ActionResult Index(){

      return View();

  }

在渲染视图时HandleErrorAttribute过滤器会传递一个HandleErrorInfo视图模型对象这是一个封装了异常细节的封装程序

名称

类型

描述

ActionName

String

返回生成异常的Action名称

ControllerName

String

返回生成异常的Controller名称

Exception

Exception

返回此异常

@model HandleErrorInfo

@{ 

  ViewBag.Title = "Sorry";

}

<!DOCTYPE html>

<html>

<head>

  <meta name="viewport" content="width=device-width" />

</head>

<body>

@Model.Exception.StackTrace

</body>

</html>

 备注:使用HandleError过滤器时一定要包含Model.Exception.StackTrace否则视图不会显示给用户,引用没必要给用户展示堆栈信息所以可以将该值放入div并隐藏

 动作过滤器

用于任何目的的多用途过滤器

namespace System.Web.Mvc{

  // 摘要:定义操作筛选器中使用的方法。

  public interface IActionFilter{

    // 摘要:在执行操作方法后调用。

    // 参数:filterContext:

    //   筛选器上下文。

    void OnActionExecuted(ActionExecutedContext filterContext);

    // 摘要:在执行操作方法之前调用。

    // 参数:filterContext:

    //   筛选器上下文。

    void OnActionExecuting(ActionExecutingContext filterContext);

  }

}

ActionExecutingContext 属性

名称

类型

描述

ActionDescriptor

ActionDescriptor

动作方法的描述

Result

ActionResult

动作方法的结果,设置属性非空值,过滤器可以取消请求

ActionExecutedContext 属性

名称

类型

描述

ActionDescriptor

ActionDescriptor

动作方法的描述

Canceled

Bool

如果该动作被另一个过滤器取消,则返回true

Exception

Exception

返回由另一个过滤器或动作方法抛出的异常

ExceptionHandled

Bool

如果异常被处理返回true

Result

ActionResult

 

结果过滤器:

它会对动作方法所产生的结果进行操作

namespace System.Web.Mvc{

  // 摘要:定义结果筛选器所需的方法。

  public interface IResultFilter{

    // 摘要:在操作结果执行后调用。

    // 参数:filterContext:

    //   筛选器上下文。

    void OnResultExecuted(ResultExecutedContext filterContext);

    // 摘要:在操作结果执行之前调用。

    // 参数:filterContext:

    //   筛选器上下文。

    void OnResultExecuting(ResultExecutingContext filterContext);

  }

}

动作方法如何返回动作结果,让用户能够将动作方法的意图与动作方法的执行分离。将结果过滤器运用于一个动作方法时会在动作方法返回结果时、但在执行该动作结果之前调用OnResultExecuting。动作结果执行之后调用OnResultExecuted

内建的动作过滤器和结果过滤器

Mvc框架包含一个内建的类,可以用来创建动作过滤器和结果过滤器,这个类的名称ActionFilterAttribute

namespace System.Web.Mvc{

  // 摘要:表示筛选器特性的基类。

  public abstract class ActionFilterAttribute : FilterAttribute, IActionFilter, IResultFilter{

    // 摘要:在执行操作方法后由 ASP.NET MVC 框架调用。

    // 参数:filterContext:

    //   筛选器上下文。

    public virtual void OnActionExecuted(ActionExecutedContext filterContext);

    // 摘要:在执行操作方法之前由 ASP.NET MVC 框架调用。

    // 参数:filterContext:

    //   筛选器上下文。

    public virtual void OnActionExecuting(ActionExecutingContext filterContext);

    // 摘要:在执行操作结果后由 ASP.NET MVC 框架调用。

    // 参数:filterContext:

    //   筛选器上下文。

    public virtual void OnResultExecuted(ResultExecutedContext filterContext);

    // 摘要:在执行操作结果之前由 ASP.NET MVC 框架调用。

    // 参数:filterContext:

    //   筛选器上下文。

    public virtual void OnResultExecuting(ResultExecutingContext filterContext);

  }

}

 使用这个类的唯一好处是不需要重写和实现不打算使用的方法。除此之外,直接实现过滤器接口没有任何好处

自定义实例:

public class ProfileAllAttribute: ActionFilterAttribute{

    private Stopwatch timer;

    public override void OnActionExecuting(ActionExecutingContext filterContext){

      timer = Stopwatch.StartNew();

    }

 

    public override void OnActionExecuted(ActionExecutedContext filterContext){

      timer.Stop();

      filterContext.HttpContext.Response.Write(

        string.Format("<div>Total elapsed time:{0}</div>", timer.Elapsed.TotalSeconds));

    }

}

public class HomeController : Controller{

    [ProfileAll]

    public ActionResult Index(){ return View();}

}

其它过滤器属性:

public abstract class Controller : ControllerBase, IActionFilter, IAuthenticationFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter, IAsyncController, IController, IAsyncManagerContainer

过滤器的几种实现形式:

①全局过滤器

在FilterConfig中直接注册实现类

②实现接口

③注解

对过滤器执行排序

过滤器是按类型执行的其顺序:授权-》Action-》result。如果有未处理异常,框架在任一阶段都会执行异常过滤器

namespace System.Web.Mvc

{

  // 摘要:表示操作和结果筛选器特性的基类。

  public abstract class FilterAttribute : Attribute, IMvcFilter{

    // 摘要: 获取或设置一个值,该值指示是否可指定筛选器特性的多个实例。

    // 返回结果:如果可指定筛选器特性的多个实例,则为 true;否则为 false。

    public bool AllowMultiple { get; }

    // 摘要: 获取或者设置执行操作筛选器的顺序。

    // 返回结果:执行操作筛选器的顺序。

    public int Order { get; set; }

  }

 
}

内建过滤器

过滤器

描述

RequireHttps

强迫Action使用Https协议

OutputCache

缓存一个Action的

ValidateInputand

ValidationAntiForgeryToken

与安全性有关的授权过滤器

AsyncTimeout

NoAsyncTimeout

用户异步控制器

ChildActionOnlyAttribute

一个支持Html.action和Html.RenderAction辅助器方法的过滤器

 

RequireHttps

RequireHttps过滤器让Action强制使用HTTPS协议。他将用户浏览器重定向到同一个动作,但使用‘https://'协议前缀

在形成不安全请求时,重写HandledNonHttpsRequest(),以创建自定义行为,该过滤器仅用于GET请求,POST则会丢掉数据;该过滤器时授权过滤器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持TE网络。

扫码关注TE官方微博 扫码关注TE官方微博
javascript 数组排序函数 表单元素属性readonly和disabled使用对比 extjs render 用法介绍 Ruby的基础语法入门学习教程 javascript面向对象程序设计高级特性经典教程(值得收藏) 在JavaScript中正确引用bind方法的应用 SQL Server 2008 到底需要使用哪些端口? Vue.js render方法使用详解 linux awk 数组排序多种实现方法 java中Integer包装类装箱的一个细节详解 js 三级关联菜单效果实例 Python二叉树的定义及常用遍历算法分析 解决Dedecms生成RSS地图地址出错全都多了一个网址的问题 ORACLE 11g从 11.2.0.1升级到11.2.0.4 详细实战教程 div+css背景渐变色代码示例 PHP7.1新功能之Nullable Type用法分析 css 提示框 CSS实现带箭头的DIV提示框 dede的sql语句调用方法使用示例 js自定义Tab选项卡效果 asm.js使用示例代码 select隐藏选中值对应的id,显示其它id的简单实现方法 jQuery选择器全面总结 Ruby中的String对象学习笔记 javascript中的后退和刷新实现方法 js操作滚动条事件实例 JavaScript模拟可展开、拖动与关闭的聊天窗口实例 鼠标放在图片上显示大图的JS代码 原生javascript实现DIV拖拽并计算重复面积 vue组件的写法汇总 使用AJAX完成用户名是否存在异步校验 使用AngularJS实现可伸缩的页面切换的方法 Ruby中的gem包管理的使用及gem源搭建教程 Linux下修改时间时区的方法介绍 基于jQuery实现select下拉选择可输入附源码下载 JSP数据库操作例程(Use Bean) jquery ui dialog实现弹窗特效的思路及代码 了解VUE的render函数的使用 python数组复制拷贝的实现方法 详谈.NET的异常处理 表单checkbox和radio文字对齐的代码 css+js实现部分区域高亮可编辑遮罩层 javascript使用中为什么10..toString()正常而10.toString()出错呢 Python交互环境下实现输入代码 JS实现点击上移下移LI行数据的方法 Python实现图像几何变换 Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解 php mysql 判断update之后是否更新了的方法 JavaScript的React框架中的JSX语法学习入门教程 CSS渐变文本效果的两种方法比较 织梦(dedecms)单页制作教程 webpack打包react项目的实现方法 javascript获取重复次数最多的字符 Angular 4依赖注入学习教程之组件服务注入(二) 不同编码的页面表单数据乱码问题解决方法 js判断输入框不能为空格或null值的实现方法 js与jQuery实现的兼容多浏览器Ajax请求实例 关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦 JQ获取动态加载的图片大小的正确方法分享 HTML复选框和单选框 checkbox和radio事件介绍 asp.net中穿透Session 0 隔离(一) Ruby的25个编程细节(技巧、实用代码段) Lua操作字符串的5个代码片段分享 详解使用nvm安装node.js Asp.Net中的字符串和HTML十进制编码转换实现代码 Angularjs 1.3 中的$parse实例代码 layer.open关闭父窗口 以及调用父页面的方法 zend framework配置操作数据库实例分析 Tomcat 部署项目的三种方法详解 JavaScript学习总结之JS、AJAX应用 php+js实现图片的上传、裁剪、预览、提交示例 JavaScript设计模式之单体模式全面解析 学习Angularjs分页指令 javascript列表框操作函数集合汇总 nginx使用nginx-rtmp-module模块实现直播间功能 JQuery 选择和过滤方法代码总结 Vue单文件组件基础模板小结 js动态设置div的值下例子 基于jQuery实现多层次的手风琴效果附源码 jquery 操作iframe的几种方法总结 jQuery 中DOM 操作详解 提升Python程序运行效率的6个方法 jquery EasyUI的formatter格式化函数代码 bower 强大的管理web包管理工具 SWT(JFace) Menu、Bar...体验代码 jQuery中clearQueue()方法用法实例 asp.net生成验证码代码(纯中文) 基于JQuery实现的类似购物商城的购物车 Linux桌面环境不支持HiDPI显示如何进行设置让其支持 JavaWeb中struts2实现文件上传下载功能实例解析 有关文件上传 非ajax提交 得到后台数据问题 iOS 中 使用UITextField格式化银行卡号码的解决方案 javascript + jquery实现定时修改文章标题 分享PHP-pcntl 实现多进程代码 List集合对象中按照不同属性大小排序的实例 css控制UL LI 的样式详解(推荐) Asp Oracle存储过程返回结果集的代码 深入解析Python中的上下文管理器 JS 正则表达式的位置匹配 asp.net中如何调用sql存储过程实现分页 Python中执行存储过程及获取存储过程返回值的方法 python抓取豆瓣图片并自动保存示例学习 vue购物车插件编写代码 Transactional replication(事务复制)详解之如何跳过一个事务 PHP数组的定义、初始化和数组元素的显示实现代码 jQuery实现的多选框多级联动插件 jQuery实现统计复选框选中数量 使用Node.js实现ORM的一种思路详解(图文) 使用cmd命令行窗口操作SqlServer的方法 简单但很实用的5个css属性 JavaScript时间戳与时间日期间相互转换 mysql 5.7.11 winx64安装配置方法图文教程 Python格式化输出%s和%d 基于javascript实现随机颜色变化效果 ASP返回某年总共有多少天的代码 Python中使用item()方法遍历字典的例子 JavaScript中this的9种应用场景及三种复合应用场景 Form表单中method=post_get两种数据传输的方式的区别 Linux下去掉^M的四种方法 Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果 JS复制对应id的内容到粘贴板(Ctrl+C效果) js面向对象编程总结 疯狂Jquery第一天(Jquery学习笔记) 写JQuery插件的基本知识 Android使用View Animation实现动画加载界面 基于jquery的图片轮播 tab切换组件 Mysql数据库增量备份的思路和方法 javascript读取xml实现javascript分页 用python结合jieba和wordcloud实现词云效果 js实现点击添加一个input节点 JavaScript操作XML 使用百度RSS作为新闻源示例 PHP实现获取FLV文件的时间 asp中使用redim、preserve创建动态数组实例 php中获取主机名、协议及IP地址的方法 jQuery EasyUI datagrid实现本地分页的方法 MacOSX右上角的工具图标很凌乱如何清理 Linux本机与服务器文件互传及Linux服务器文件上传下载命令写法 phpmyadmin显示utf8_general_ci中文乱码的问题终级篇 JavaScript数组常用方法 js如何打印object对象 python 正则表达式 反斜杠(_)的麻烦和陷阱 Vue.js 递归组件实现树形菜单(实例分享) SQL SERVER修改函数名容易引发的问题分析 Python中defaultdict与lambda表达式用法实例小结 PHP下获取上个月、下个月、本月的日期(strtotime,date) python实现socket端口重定向示例 图片自动保存到本地并利用aspjpeg为图片加水印 ASP开发中数据库文件调用的捷径 Android列表对话框用法实例分析 去掉gridPanel表头全选框的小例子 CSS3哪些新特性值得称赞 javascript的push使用指南 React组件之间的通信的实例代码 jQuery中prevAll()方法用法实例 thinkjs 文件上传功能实例代码 jquery的clone方法应用于textarea和select的bug修复 python写一个md5解密器示例 bootstrap中模态框、模态框的属性实例详解 JavaScript中常用的六种互动方法示例 webpack中的热刷新与热加载的区别 Amazing ASP.NET Core 2.0 利用javascript解决图片缩放及其优化的代码 python解决Fedora解压zip时中文乱码的方法 jQuery实用技巧必备(上) 从零学python系列之新版本导入httplib模块报ImportError解决方案 JavaScript 学习笔记之操作符(续) Laravel5.5中利用Passport实现Auth认证的方法 ASP.NET Forms身份认证 24种编程语言的Hello World程序 webpack打包单页面如何引用的js mysql增加和删除索引的相关操作 帝国CMS获取当前栏目下子栏目的方法 将CMYK颜色值和RGB颜色相互转换的PHP代码 ASP.NET MVC中的AJAX应用 JavaScript高级程序设计(第3版)学习笔记10 再访js对象 WebForm获取checkbox选中的值(几个简单的示例) JS动态加载当前时间的方法 vue实现裁切图片同时实现放大、缩小、旋转功能 json数据处理及数据绑定 手机端转盘抽奖代码分享 Wordpress修改某篇文章ID(把ID为148的改成147)的SQL语句 基于jQuery的input输入框下拉提示层(自动邮箱后缀名) 在css加载完毕后自动判断页面是否加入css或js文件 php实现阳历阴历互转的方法 JS验证身份证有效性示例 jQuery实现给页面换肤的方法 python安装mysql-python简明笔记(ubuntu环境) ECHO.js 纯javascript轻量级延迟加载的实例代码 vue-router 学习快速入门 Nginx防御DDOS攻击的配置方法教程 jQuery封装的屏幕居中提示信息代码 javascript框架设计读书笔记之种子模块 Jquery中使用show()与hide()方法动画显示和隐藏图片 基于redis分布式锁实现秒杀功能 JS简单随机数生成方法 Discuz有关问题解决办法汇总(Can not write to cache files) 微信小程序 地图map详解及简单实例 js正文内容高亮效果的实现方法 JS判断元素为数字的奇异写法分享 11条理由告诉你,为什么你的网站不卖座 js jquery获取当前元素的兄弟级 上一个 下一个元素
蓝色出海旅行整站模板下载.zip 网页java applet串口通信读取RFID电子标签读写 html5制作3D拳击游戏源码下载.zip jquery带播放按钮幻灯片.zip 【PHP源码】专卖店通用管理系统 v1.0_shoes.zip java图书馆管理系统 struts2+hibernate+spring整合的例子适合初学者《图书管理系统》 缩略图导航画廊jQuery代码.zip 【PHP源码】Visual Disk Management v1.0_visualdiskmanagement.zip HTML5 Canvas下雪雪花动画特效.zip 杂志布局CSS网页模板.zip jsp SMART系统-考试监控及阅卷模块的设计与开发(源代码+论文) 可拖动弹出框插件easydialog.zip Eclipse+tomcat+maven 配置Spring mvc图文教程 购酒网jquery分类导航.zip jQuery覆盖滚动效果幻灯片插件.zip Android手游斗地主完整源码 spring security包含数据库直接可以使用 SSH框架编写的登录注册及人员的增删查询 DIV+CSS百度图片搜索页面模板.zip jQuery&CSS3导航标签切换效果.zip 白色简约布局html5模板.zip KCIS云情报的jQ焦点图.zip Discuz! x2.5端午节模板.zip 帝国cms黑色门户模板.zip Discuz! x2.5威风网科技蓝模板.zip js图片标题随小圆点放大切换.zip 特殊学校网站模板.zip jQuery焦点图插件PicCarousel.zip jquery+css3幻灯片插件Bootslider.zip jQuery美化Select下拉菜单插件.zip 花卉服务CSS网页模板.zip jquery鼠标悬浮高亮开关灯.zip jQuery带惯性相册效果.zip jQuery动画垂直时间轴特效代码.zip 【ASP.NET源码】Discuz!NT For SQL Server v1.0源码 (.net Framework 1.1)_dnt_acc_n1_1_src.zip 【ASP.NET源码】C#千里牛网留言板框架 v1.0_messageboard.zip div设置宽度背景颜色js代码.zip jQuery滑动块状区域覆盖切换代码.zip 外贸公司业务网站模板.zip 【ASP.NET源码】书爸爸电子书连载网_xiaoshuo.zip UI Design网站设计公司模板.zip 绵羊动物养殖企业网站模板.zip jQuery对话框插件DsDialog.zip jquery带定位按钮幻灯片.zip jQuery侧边弹出二级菜单.zip jQuery可拖动图标导航菜单.zip 带缩略图上下滚动幻灯片.zip 联想jQuery大屏焦点图.zip 商务英语学习网站模板.zip jQuery图片tooltip提示.zip 歌临网站CSS网页模板.zip 混合水果CSS网页模板.zip 棕色大气公司业务网站模板.zip 带进度条的css网站模板.zip jQuery两行列表滚动效果.zip java + sql sever 交通违章管理系统 + 报告 化妆美容美发美甲网站模板.zip 164个完整的Java源程序代码 【ASP.NET源码】ASP.NET ACCESS 签名程序_qmfz.zip jQuery页面文字提示插件Gips.zip 暗红色个人旅游网站模板.zip 小猪cms演示jquery右侧栏代码.zip 功能强大的HTML5滑块幻灯片.zip 电影影视门户网站html5模板.zip css3圆形修边tab标签.zip Android蓝牙开发客户端代码 spring+struts2+maven+extjs3完善的菜单和按钮权限管理后台 微信小程序源码-淘票票电影 html5生成图案二维码插件.zip 爱旅行的女人html5模板.zip jQuery表单元素美化插件jqtransform.zip ssh电子商城实例 Wordpress SlashBlog.zip 技术宅网站wordpress主题.zip jQuery滚动楼层效果代码.zip jQuery颜色选择器插件_2.zip 微信小程序 - 电灯泡游戏源码.zip css3实现打钩按钮特效.zip jquery瀑布流排列样式代码.zip 蓝色商务大气网站模板.zip jQuery消息提示框插件Tipso.zip 宽屏蓝色电脑设计网站模板.zip 全屏APP开发公司网站模板.zip IOS风格JS模态对话框特效.zip 【PHP源码】BOOM超级团队成员系统v1.5_boomhyv1.5.zip 宽屏扁平化结婚恋爱整站模板.zip jquery内容模糊隐藏.zip Android 开发的QQ程序源码 myeclipse2015破解工具 jquery时间表插件b1njTimeline.zip ace-html,页面模版,Bootstrap后台管理系统模版,兼容手机 蓝色城市建筑主题网站模板.zip jquery猎豹安全网购导航网址.zip SpringMVC+Redis+Mysql+OSS+微信公众号支付 直接运行的MVC框架 Simba1.3.0 jquery书架式图片展示特效.zip 汽车之家2015新版焦点图代码.zip nginx+springboot+dubbo +redis session共享 jQuery触发式二级导航.zip 安居客后台模板bootstrap后台扁平化风格 网上商城(主要销售表) 【ASP.NET源码】Asp.net校友录(同学录)系统源码_xiaoyoulu1.1_51.zip jquery div拖动排序效果代码.zip jquery模拟flash动画按钮.zip jQ侧边固定可折叠悬浮导航代码.zip jQuery带按钮向上滚动向下滚动代码.zip wordpress中文杂志主题.zip jquery全屏缩略图翻转.zip spring、structs2、oracle、ibatis、mysql、sql等各种jar包 jQuery绿色简洁三级下拉菜单代码.zip apktool 反编译工具 Discuz! x2涂鸦心情模板.zip 医疗行业企业网站模板.zip jQuery+CSS3仿IOS5通知中心.zip 害虫动物HTML5网站模板.zip jQuery点击文本框颜色拾取器代码.zip 大气农业集团企业CSS3模板.zip Taxi黄色出租车网站模板.zip CSS3圆点虚化背景动画特效.zip jQuery移动端幻灯片插件swipeslider.zip 千千静听首页jQuery幻灯片.zip 大前端wordpress绿色主题.zip 超大幻灯片css宽屏模板.zip 大气简洁动物类网站模板.zip 棕色室内建筑设计网站模板.zip 微信小程序源码-搞笑 基于mybatis自定义缓存配置Redis 大气简洁动物类网站模板.zip bootstrap 后台管理模板 AdminEx 豪车经销商HTML5模板.zip 微信小程序源码-数码商城(含后端) jQuery HTML5人物介绍卡片特效.zip 设计团队博客css网站模板.zip 【PHP源码】渝海SEO工具之有道关键词筛选工具 v1.1_yh_fenci_youdao_1.1.zip 【ASP.NET源码】CSBlog 2.11_csblog2.zip 宠物美容店CSS网站模板.zip 2014美丽说ecshop模板.zip 途牛旅游网CSS3动画特效.zip jQuery自动生成代码行号特效.zip jQuery黄色下拉滑动导航菜单代码.zip jQ索引按钮+缩略图双重切换.zip 设计师作品素材网站模板下载.zip 纯CSS3实现紫色登录表单.zip jquery鼠标点击放大展开弹出框.zip CSS3点击展开分享按钮功能.zip jQuery带进度图片定时切换.zip 水果果汁CSS网页模板.zip jQuery鼠标悬停3d菜单展开动画.zip 男士发型设计网站模板.zip 美国留学成人教育网站模板.zip jquery四屏带缩略图滚动焦点图.zip jQuery带进度图片定时切换.zip 暗色木纹背景html网站模板.zip jQuery评论插件可回复评论代码.zip jQuery垂直手风琴菜单列表代码.zip 简洁大气旅行网页模板.zip jQuery下一张图预览幻灯片.zip 纯CSS3汽车在公路上行驶动画特效.zip jQuery旅游网站左侧分类菜单代码.zip jQuery提示tips特效代码.zip jQuery 3D星球大战字幕引导特效.zip CSS3实现图形颜色渐变.zip HTML5 Canvas实现连线题特效.zip QML+Chart.js 实现图表显示 金融商业网页模板下载.zip 农村别墅设计网站模板.zip jQuery仿小猪CMS官网幻灯片代码.zip 葡萄酒销售网站模板.zip html5微信中秋节博饼游戏代码.zip jQuery带动画效果竖直菜单切换代码.zip 旅行客车公司网站模板.zip 餐厅管理系统(java-web项目) 【PHP源码】phpBB v3.04 中文版_phpbb3.0.4_zh_phpbbchina.zip jquery点击图片弹出相册幻灯片代码.zip 【ASP.NET源码】无痕留言系统_whbook.zip jQuery+CSS3旋转滑块幻灯片.zip Android 地区和日期选择器 jquery高级注册表单.zip CSS3实现3D木块旋转动画.zip jQuery手机顶部下拉搜索框代码.zip 微官网美食订餐html5触屏响应式手机wap网站订餐模板.zip jquery制作2048小游戏.zip jQuery flipLightBox灯箱插件.zip 微信小程序源码-小程序版2048 基于CSS3金属风格下拉菜单.zip CSS3鼠标经过图片3D翻转动画特效.zip 【PHP源码】Celerondude Uploader v6.3.0_uploaderv6_3c.zip JSP+SQL办公自动化管理系统(源代码+论文) HTML5教育类网站模板.zip 数据库测试DB,mysql官方测试数据库文件,employee SSH框架开发的新闻系统源码 console.log控制台信息前台显示代码.zip SSH框架源代码(最简洁最干净的代码)注解方式 产品介绍CSS模板下载.zip ECShop 乐淘模板.zip css3面包屑导航.zip jquery滑出式联系我们表单.zip jQuery京东浮动网站楼层导航代码.zip jQuery响应式多级下拉导航菜单特效.zip maven整合ssm框架+EhCache搭建(eclipse可直接运行)
举报X