.NET MVC扩展UrlHelper支持CDN】的更多相关文章

0x00.为什么要扩展 因为我的服务器是小水管,加载一个完整的网站往往需要很久,想加速网站加载速度,静态文件最好是分离出来,所有就想到了扩展UrlHelper,用来支持CDN加载文件. 0x01.论引用静态文件的几种方法 以 jquery-1.11.0.min.js 为例,一般常用的有以下两种(我自己的情况) <script src="~/Content/themes/plugins/jQuery/jquery-1.11.0.min.js"></script>…
写在前面 在app中嵌入h5应用,最头疼的就是缓存的问题,比如你修改了一个样式,或者在js中添加了一个方法,发布之后,并没有更新,加载的仍是缓存里面的内容.这个时候就需要清理缓存才能解决.但又不想让webview每次都清理缓存,每次都去加载最新的,显然会影响性能. 解决办法 解决缓存的方式之一就是在url后面添加一个随机数可以实现,但我们并不希望每次都是新请求,所以这个时候,我们可以在js或者css的后面添加一个版本号,第一次请求仍是新的请求,之后会将静态文件进行缓存.一是解决了修改后,无法立即…
标题“Mvc扩展框架及DI”有点绕口,我也想不出好的命名,因为这个内容很杂,涉及多个模块,但在日常开发又密不可分 首先说Mvc扩展框架,该Mvc扩展就是把以前的那个Mvc分区扩展框架迁移过来,并优化整合了一下 一.Mvc扩展框架主要功能: 1.Mvc的依赖注入(DI)功能(类MvcDependency) 依赖IContainerFactory接口,不再依赖具体容器 2.Mvc全局过滤器(GlobalFilterProvider) 配置在Mvc的依赖注入容器中就能自动被Mvc调用.其实逻辑很简单,…
Asp.Net MVC 扩展 Html.ImageFor 方法详解 背景: 在Asp.net MVC中定义模型的时候,DataType有DataType.ImageUrl这个类型,但htmlhelper却无法输出一个img,当用脚手架自动生成一些form或表格的时候,这些Url字段总是需要再手动改一次,特别是我想在img上面包裹一个a标签.并限定大小,比如: <a href="url" target="_blank"> <img src="…
面向接口可扩展框架之“Mvc扩展框架及DI” 标题“Mvc扩展框架及DI”有点绕口,我也想不出好的命名,因为这个内容很杂,涉及多个模块,但在日常开发又密不可分 首先说Mvc扩展框架,该Mvc扩展就是把以前的那个Mvc分区扩展框架迁移过来,并优化整合了一下 一.Mvc扩展框架主要功能: 1.Mvc的依赖注入(DI)功能(类MvcDependency) 依赖IContainerFactory接口,不再依赖具体容器 2.Mvc全局过滤器(GlobalFilterProvider) 配置在Mvc的依赖注…
前端基于easyui的mvc扩展(续) 回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题: 当我们要给生成的控件设置一些其他的属性(如:id)或者想要设置easyui控件的一些其他的可配置项 对于form表单提交时,也要让form表单基于easyui的验证机制来进行验证 这里要先提一下,上一篇的TagBuilder并不是微软自带的(位于System.Web.Mvc下),而是自己实现的,理由嘛,既然我们编码了mvc…
很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行.这个项目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac.如果你和我一样喜欢使用IOC,这个库值得你关注. ASP.NET MVC扩展库的网站地址是http://mvcextensions.github.io/,基于Ms-PL协议的开源库,下面介绍一下他的特性: 这个库的核心是I…
每篇一句 十个光头九个富,最后一个会砍树 前言 不知你在使用Spring Boot时是否对这样一个现象"诧异"过:同一个接口(同一个URL)在接口报错情况下,若你用rest访问,它返回给你的是一个json串:但若你用浏览器访问,它返回给你的是一段html.恰如下面例子(Spring Boot环境~): @RestController @RequestMapping public class HelloController { @GetMapping("/test/error&…
iframeWin For Easy UI. 为 Easy UI 扩展的支持IFrame插件 在一个项目中用了Easy UI,但是发现里面的 Dialog .Window.Messager 弹窗都不支持IFrame的方式, 于是自己动手基于Easy UI实现了一个插件. 目前Easy UI仍然使用GPL开源协议. JS引用: <script type="text/javascript" src="jquery.min.js"></script>…
原文:MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串 如何让视图通过某种途径,把符合日期格式的字符串放到路由中,再传递给类型为DateTime的控制器方法参数?即string→DateTime.MVC默认的ModelBinder并没有提供这样的机制,所以我们要自定义一个ModelBinder. 首先,在前台视图中,把符合日期格式的字符串赋值给date变量放在路由中: @Html.ActionLink("传入日期格式为2014-06-19&quo…
ylbtech-funcation-Utility: ASP.NET MVC:UrlHelper.cs 充当表示 ASP.NET Razor 页的类的基类. 1.UrlHelper 类返回顶部 1-1. #region 程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 // D:\work-XNY\XnyQcWeb\DS.XnyQc.Web\bin\System.Web.Mv…
回到目录 DisplayNameFor方法是MVC提供给我们的,它可以将模型的DisplayName特性的值显示到页面上,这对程序员来说很是方便,在进行实体设计时,可以指定它的显示名称,然后MVC引擎会自动帮助我们生成DisplayNameFor代码断,而我们的所有字段的名称就显示到了页面上,一切就这样简单,即使你在列表页,你的模型IEnumerable<T>也可以很容易的被支持,而在大叔框架里,分页列表使用了模型PagedList<T>,这当然不会被微软兼容,所以,大叔为些特意为…
ASP.NET mvc的razor视图引擎是一个非常好的.NET MVC框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的项目支持多模板&skins机制,比如我们可能会有多套的模板,也就是多个View风格,而我们只需要改一下配置文件就可以轻松的改变页面的风格和模板.实现这个功能有两种方式: 一.使用接口IViewEngine自己完成一个类似Razor视图引擎的功能. 二.继承类RazorViewEngine类,重写它的一些方…
ASP.NET  mvc的razor视图引擎是一个非常好的.NET  MVC 框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的 项目支持多模板&skins机制,比如我们可能会有多套的模板,也就是多个View风格,而我们只需要改一下配置文件就可以轻松的改变页面的风格和模板.实现这个功能有两种方式: 一:使用接口ViewEngine自己完成一个类似Razor视图引擎的功能 二.继承类RazorViewEngine类,重写它的一…
1.视图引擎的作用,总结为两点: 查找视图 渲染视图 ViewEngine即视图引擎, 在ASP.NET MVC中将ViewEngine的作用抽象成了 IViewEngine 接口. 默认情况下,ASP.NETMVC提供了两个视图引擎:WebFormViewEngine和RazorViewEngine.他们都是抽象类型BuildManagerViewEngine的子类,而后者又继承自VirtualPathProviderViewEngine.VirtualPathProviderViewEngi…
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点着点着就挂了. 一开始招了几个实习的大学生在那玩,搞不定了,终于忽悠的我了,哈哈... 当时进去的第一感觉是重做,不过呵呵,老板的心思你不猜不行. 然后第一阶段就是在旧项目改造维稳了,只要不是需要挂上百台服务器才能解决的问题,都能弱弱地处理的不要不要的,毕竟没有三两三,也不好上梁坑. 到了第二阶段,…
背景 由于MVC的前端是基于jquery.validate和jquery.validate.unobtrusive来实现的,但是当我们要使用其他的ui组件且组件本身就带有完整的验证功能的话,那么要让它们配合起来是有些麻烦的,比如:easyui. 介绍 MVC主要提供了一下几个验证特性来支撑前端的验证: CustomValidationAttribute:指定一个用于验证目标成员的验证类型和验证方法. DataTypeAttribute:指定要与数据字段关联的附加类型的名称. RangeAttri…
 #基于webpack构建的 Koa2 restful API 服务器脚手架    这是一个基于 Koa2 的轻量级 RESTful API Server 脚手架,支持 ES6, 支持使用TypeScript编写.   GIT地址:https://github.com/Allenzihan/koa2-mysql-framework.git 此脚手架只安装了一些配合koa2使用的必要插件,不仅提供RESTful API实现,同时也集成了对静态资源的处理,支持跨越,代理转发请求等基础功能.基本上您仅…
如何渲染视图? 我以近乎的视图引擎为例总结了一下,近乎中的ThemedViewEngine类,就是重写后的的视图引擎.ThemedViewEngine类主要对FindPartialView和FindView这两个方法进行了重写.并且将View,PartialView和layout的定位也进行了重写.(http://c.jinhusns.com/cms/c-3256/?type=xcj) 这是FindPartialView方法,它的作用就是查找分布页并将其渲染并显示出来. presentAreaK…
1.自定义一个HttpModule,并将其中的方法添加到HttpApplication相应的事件中!即:创建一个实现了IHttpmodule接口的类,并将配置WebConfig.  在自定义的HttpModule中,可以将一个方法注册到HttpApplication的任意一个事件中,在之后执行HttpApplication一些列事件时,按照事件的顺序(事件又按照添加方法先后的顺序)执行注册在事件中的方法! namespace MvcStore.Models { public class Excu…
背景: 在Asp.net MVC中定义模型的时候,DataType有DataType.ImageUrl这个类型,但htmlhelper却无法输出一个img,当用脚手架自动生成一些form或表格的时候,这些Url字段总是需要再手动改一次,特别是我想在img上面包裹一个a标签.并限定大小,比如: <a href="url" target="_blank"> <img src="url" style="width: 100p…
如 果想要在虚拟机上使用连接在 Mac 上的硬件外设,比如 U 盘,iPhone 等,需要我们在 Virtual Box 官网下载一个硬件支持扩展安装包.同样地,我们先打开虚拟机的下载页面: https://www.virtualbox.org/wiki /Downloads ,在页面中点击“All supported platforms ”下载链接,如图所示…
本篇体验扩展StringBuilder使之支持链式方法. 这里有一个根据键值集合生成select元素的方法. private static string BuilderSelectBox(IDictionary<int, string> options, string id, bool includeUnknown) { var html = new StringBuilder(); html.AppendFormat("<select id=\"{0}\"…
此文只作记录 public class MaxWordsAttribute : ValidationAttribute { public MaxWordsAttribute(int maxWords) : base("{0} 字符串过长") { _maxWords = maxWords; } private readonly int _maxWords; protected override ValidationResult IsValid(object value, Validati…
.NET MVC 3中扩展方法特点: (1)扩展类的名称以Extensions结尾: (2)扩展类的类型是static: (3)扩展方法至少有一个参数,第一个参数必须指定该方法作用于哪个类型,并且该参数以this修饰符为前缀: (4)扩展方法的类型是static: (5)如果拓展方法的返回值是字符串则返回类型是MvcHtmlString,而不是string: (6)页面调用必须用using指令导入扩展类型所在的命名空间. <label for="Address">Addre…
1.什么是HtmlHelper辅助方法?其实就是HtmlHelper类的扩展方法,如下所示: namespace System.Web.Mvc.Html { public static class FormExtensions//表单相关扩展方法,例如创建表单标签等. public static class InputExtensions//这里包含了所有input,例如:text,button,readiobutton等等. public static class LinkExtensions…
Ajax是异步JavaScript和XML的一个简写形式.MVC框架包含了不显眼的Ajax内置支持,通过它可以使用辅助方法,在所有的视图添加代码来定义Ajax特性. 在MVC中此特征是基于jQuery的功能. 为不使注意AJAX支持,在MVC应用程序,打开Web.config文件,并使用下面的代码设置appSettings部分内的UnobtrusiveJavaScriptEnabled属性.如果键已经存在于应用程序,可以忽略这一步. <add key="UnobtrusiveJavaScr…
本文转自:http://www.cnblogs.com/bright-lin/archive/2013/02/06/MVC_SuggestBox.html 在web中,为改善用户体验,我们常会将一些文本输入框做成智能联想,以让用户更快更准确的输入内容.大概是这样的:当用户开始在文本框输入时,客户端脚本ajax向服务端发起请求,服务端从数据库读取返回数据,客户端解析数据附加在文本框的下拉div中供用户选择参考. 在MVC中我们可以通过扩展HtmlHelper来封装自己写的控件,以便在整个项目中像使…
log4j.properties配置文件: log4j.rootLogger=INFO,db #使用log4j扩展支持JNDI数据源 log4j.appender.db=com.qdgswx.log4j.ds.JndiDSAppender log4j.appender.db.jndiName=wstjndi log4j.appender.db.BufferSize= log4j.appender.db.sql=insert into wx_log (openid,nsrsbh,logtype,c…
参考: ASP.NET MVC:多模板支持…