新建类,int[]数组模型绑定 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Koukou.Admin.ModelBinder { public class IntArrayModelBinder : DefaultModelBinder { public override object BindModel(C…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
今天我们的项目遇到问题 为了避免跨站点脚本攻击, 默认我们项目是启用了 validateRequest,这也是 ASP.NET 的默认验证规则.项目发布后,如果 customError 启用了,则会显示我们自己定义的错误页面,如果没有,就会显示具体的错误页面,比如: 如果想忽略这个 ASP.NET 默认的验证规则,则可以在 web.config 中禁用 <system.web> <pages validateRequest="false" /> </sys…
很多 ASP.NET  MVC 开发者都会写出高性能的代码,很好地交付软件,等等.但是却并没有安全性方面的计划. 有一种攻击是攻击者截获最终用户提交的表单数据,将其改变再将修改后的数据发送到服务器. 对于这种情况,开发者需要进行适当的验证,不过验证显示的大量错误信息中可能会泄漏服务器信息. 如常见的404页面和500页面(俗称黄页):           解决方法: 先关闭自定义错误,将Web.config配置文件中customErrors节点的mode设置为Off <system.web>…
一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为单位,理论上缓存时间可以很长,但实际上当系统资源紧张时,缓存空间还是会被系统收回. VaryByParam:以哪个字段为标识来缓存数据,比如当“ID”字段变化时,需要改变缓存(仍可保留原来的缓存),那么应该设VaryByParam为"ID".这里你可以设置以下几个值: * = 任何参数变化…
本文转自:http://www.cnblogs.com/huyq2002/archive/2012/01/06/2314838.html 在VS2010中利用Asp.net MVC自带的模板生成的菜单是固定的,没办法更改,下面利用PartialView实现简单的一级菜单. 1) 修改_Layout.cshtml,在<nav>部分改成@{ Html.RenderAction("Menu", "Home");} ? <div class="f…
我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View Engine,以满足我们自己的特殊需要. 首先,实现自定义的View Engine需要实现IViewEngine接口: public interface IViewEngine { //使用指定的控制器上下文查找指定的分部视图. ViewEngineResult FindPartialView(C…
大家好,这篇文章,我将向大家介绍ASP.NET MVC的模型视图绑定,ASP.MVC的模型绑定分为两种:一种是动态绑定[Dynamic Binding];还有一种就是强类型绑定[Strongly typed binding]:[PS--上一篇文章:3.怎样将ASP.NET MVC应用程序发布到IIS] 当我们从控制器向视图传递数据的时候,我们会返回一个ViewResult类型的对象,与此同时,我们在视图中可以使用Model对象获取控制器传递过来的数据.Model是WebViewPage泛型类的一…
废话不多话,直接上代码 1.创建MVC项目,新建一个过滤器类以及使用到的实体类: public class DemoFiltersAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { var person = new Person(); //过滤器中使用模型绑定 BindModel<Person>(filterContext, per…
1.修改jquery.validate.unobtrusive.js 将onError方法修改 //修改的部分 /////////////////////////////////////////////////////////////////// function onError(error, inputElement) { // 'this' is the form element ].name) + "']"), replaceAttrValue = container.attr(…
ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, <appSettings> <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用.Net Framework提供的自定义系统配置方式来进行改善.自定义…
自定义配置信息的高级应用 通过上篇博文对简单的自定义配置信息的学习,使得更加灵活的控制系统配置信息.实际项目中,这种配置的灵活度往往无法满足项目的灵活度和扩展性. 比如,一个配置信息有三部分组成,而每部分中有包括一些配置信息.仅仅使用简单的自定义配置无法满足,因此,需要提供更多的自定义配置方法来灵活实现. 针对配置信息中包括配置列表和配置项的要求,主要使用.Net Framework中的以下两个类来实现: ConfigurationElement:配置文件中的一个配置项 Configuratio…
在编写前台页面的时候为了使url传递参数的简短,比如personId="1"  我们通过url传递成pid=1  那么在后台action方法接受的模型Person类 的属性为personid 则mvc就不能把值填充到实体类里面 所以我们要重写mvc底层填充模型的类  ,自定义一个类 继承DefaultModelBinder  重写BindProperty 方法 方法内部实现见下图 做完上面 还要在全局配置文件中配置.将我们mvc填充模型的类 替换成我们写的类 如下图: 防止以后看不懂啦…
你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你的服务器带宽.下面这种方法可以告诉你如何在ASP.NET MVC中实现一个自定义RouteHandler来防止其他人盗链你的图片. 首先,我们来回顾一下当一个请求发往ASP.net MVC站点时的情景,IIS收到请求并将请求转到ASP.net,然后根据URL,或者更确切来说:被请求文件的扩展名.在IIS7 integrated模式下(默认模式),所有的请求都会匹配到ASP.net中…
[译]Asp.net MVC 利用自定义RouteHandler来防止图片盗链   你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你的服务器带宽.下面这种方法可以告诉你如何在ASP.NET MVC中实现一个自定义RouteHandler来防止其他人盗链你的图片. 首先,我们来回顾一下当一个请求发往ASP.net MVC站点时的情景,IIS收到请求并将请求转到ASP.net,然后根据URL,或者更确切来说:被请求文件的扩展名.在I…
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 七天学会ASP.NET MVC (四)——用户授权认证问题 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 七天学会ASP.NET MVC (六)——线程问题.异常处理.自定义URL 七天学会ASP.NET MVC(七)——创建单页应…
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 今天是开心的一天.因为我们终于来到了系列学习的最后一节.我相信你喜欢之前的课程,并从中学到了许多. 1. Lab 32 - 让项目有组织性 这个实验确切地讲无关任何新的功能.它只是使项目更有结构性和系统化. 第一步:创建解决方案文件夹 右击解决方案,然后选择 Add -> New Solution Folder. 将文件夹的名称改为「View And Controller」.现在重复这个步骤,创…
1.ASP.NET MVC 3 如何去除默认验证 这个默认验证是在web.config配置文件中设置的    <add key="ClientValidationEnabled" value="true"/>设置为false就行了,    这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些不需要 就看你自己了 示例代码: publicclass Movie { publicint ID { get; s…
本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问[http://www.dotnettricks.com/free-ebooks](http://www.dotnettricks.com/free-ebooks)自行下载.该书主要分为两部分,ASP.NET MVC 5.ASP.NET WEB API2.本书最大的特点是以面试问答的形式进行展开.通读此书,会帮助你对AS…
[ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>      [ASP.NET MVC2 系列] ASP.Net MVC教程之<ASP.NET MVC 概述>     [ASP.NET MVC2 系列] 理解MVC应用程序的执行过程     [ASP.NET MVC2 系列] ASP.NET MVC Routing概述      [ASP.NET MVC2…
http://blog.csdn.net/churujianghu/article/details/7297358 1.ASP.NET MVC 3 如何去除默认验证 这个默认验证是在web.config配置文件中设置的    <add key="ClientValidationEnabled" value="true"/>设置为false就行了,    这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些…
查看 StoreManager 控制器的代码 现在,Store Manager 控制器中已经包含了一定数量的代码,我们从头到尾重新过一下. 首先,在控制器中包含了标准的 MVC 控制器的代码,为了使用方便,还可以引用我们的模型类所在的命名空间 MvcMusicStore.Models.控制器还拥有了一个私有的 MusicStoreEntities 的私有成员,以方便控制器中的每个 Action 访问数据库. using System;using System.Collections.Generi…
http://www.cnblogs.com/powertoolsteam/p/MVC_Seven.html 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 七天学会ASP.NET MVC (四)——用户授权认证问题 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 七天学会ASP.…
你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你的服务器带宽.下面这种方法可以告诉你如何在ASP.NET MVC中实现一个自定义RouteHandler来防止其他人盗链你的图片. 在ASP.Net MVC程序中首先涉及的部件是UrlRoutingModule,它是System.Web.Routing的一部分.UrlRoutingModule用于第一次检查请求的url和本地磁盘中的文件是否相匹配.如果匹配,UrlRoutingMo…
引言 对于ASP.NET MVC的路由系统相信大家肯定不陌生.今天我们就深入ASP.NET的框架内部来看一下路由系统到底是怎么通过我们给出的地址(例如:/Home/Index)解析出Controller和Action.今天的这一篇文章我们就深入框架内部,看看里面的流程. UrlRouteModule介绍 ASP.NET MVC本质上是通过IHttpModule和IHttpHandler两个组件对ASP.NET框架进行扩展来实现的.ASP.NET 请求处理过程是基于管道模型的,这个管道模型是由多个…
阅读目录 序言 内置的HTML Helpers 创建自定义的Helpers 使用静态方法创建Helpers 使用扩展方法创建Helpers 创建Fluent Helpers 创建自动闭合的Helpers 小结 回到顶部 序言 ASP.NET MVC允许开发者创建自定义的HTML Helpers,不管是使用静态方法还是扩展方法.一个HTML Helper本质上其实是输出一段HTML字符串. HTML Helpers能让我们在多个页面上公用同一段HTML标记,这样不仅提高了稳定性也便于开发者去维护.…
Creating your own MVC View Engine For MVC Application 原文链接:http://www.codeproject.com/Articles/294297/Creating-your-own-MVC-View-Engine-into-MVC-Applica 简介(Introduction): The View engines used in ASP.NET MVC Framework are the Razor View Engine and We…
MVC的由来: 在MVC模式之前,View界面的呈现.用户交互操作的捕捉与相应.业务流程的执行以及数据的存储等都是在一起的,这种设计模式叫自治视图. 这重设计模式主要存在三大弊端: 重用性:业务逻辑与UI是不相关的,如果将业务逻辑与UI绑定在一起,业务逻辑将无法被重用. 稳定性:业务逻辑.UI逻辑.视图界面三者的稳定性不同,绑定在一起会由最差的部分影响到整体,即"短板理论".(就像一个坏木桶里的水,会从缺口的最低处先流出来) 可测试性:当UI与逻辑部分绑定在一起,极大的增加了测试难度.…
在团队设计BrnShop的web项目之初,我们碰到了两个问题,第一个是数据的复用和传递,第二个是大mvc框架和小mvc框架的选择.下面我依次来说明下. 首先是数据的复用和传递:对于BrnShop的每一次请求,程序都要分成好几个阶段执行,例如验证,执行动作方法等等,在各个阶段我们可能需要重复使用同一信息,而我们的愿景就是希望此信息只需获取一次,然后沿着流程管道一直流动,这样在后面的阶段中就可以直接使用,不用再重新获取了,提高程序的性能.举例来说:在授权验证阶段,我们为对用户进行验证,从而获取了用户…
一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细的描述Action Filter.Action Filter作为一个可以应用到Controller Action(或者是整个controller)上的属性(Attribute),改变Action执行的行为,当应用于整个Controller上时,Controller上的所有Action都应用了同样设置的Action. 使用Action Filter 可以处理缓存. 验证和…