随笔分类 - ASP.NET MVC
摘要:没什么好讲的,上代码: (function ($) { var defaultOptions = { validClass: 'has-success', errorClass: 'has-error', highlight: function (element, errorClass, valid
阅读全文
摘要:1. 引言如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊车钥匙。当你到酒店后,只需要将泊车钥匙交给服务生,停车的事情就由服务生去处理。与主钥匙相比,这种泊车钥匙的使用功能是受限制的:它只能启动发动机并让车行驶一段有限的距离,可以锁车,但无法打开后备箱,无法使用车内其他设备。这里就体现了一种简单的“开放授权”思想:通过一把泊车钥匙,车主便能将汽车的部分使用功能(如启动发动机、行驶一段有限的距离)授权给服务生。授权是一个古老的概念,它是一个多用户系统必须支持的功能特性。比如,
阅读全文
摘要:在asp.net程序的开发中,有时我们需要对输出的Html代码进行一些后续的处理。如压缩Html代码。实现的方法很简单,我们只需要扩展一个自定义的过滤器。首先我们创建一个将html转换成大写的过滤器: 1 public class CapitalFilter : Stream 2 { 3 private Stream _responseStream; 4 5 public CapitalFilter(Stream responseStream) 6 { 7 _responseStream = responseSt...
阅读全文
摘要:@Html.DropDownList
阅读全文
摘要:在asp.net mvc进行身份验证只用在需要验证的Action或者Controller上标记一个[authorization]即可,如果用户没有登陆,此时将返回的ActionResult是HttpUnauthorizedResultCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicclassHttpUnauthorizedResult:ActionResult{publicoverridevoidExecuteResult(Con
阅读全文
摘要:Why compiled views?First of all I prefer VS.NET to compile the cshtml code at build time because it will notice syntax errors like on any .cs file. Syntax errors are most important when I have to do a quick check-in of all my sources to repository and I need to make sure I will not crash the next te
阅读全文
摘要:ASP.NET MVC:通过FileResult向浏览器发送文件
阅读全文
摘要:In first part of the Rhino Mock explorations, I've tried to give answers on what is mocking, what are the different recording modes available in Rhino mocks, how to set up some of results etc. Today post would continue that by focusing on a few typical mocking tasks. To make this post easier to
阅读全文
摘要:I am working on some code like this:?123456789101112131415[Authorize]public ActionResult Edit(int id) {Dinner dinner = dinnerRepository.FindDinner(id);if (dinner.HostedBy != User.Identity.Name)return View("InvalidOwner");var viewModel = new DinnerFormViewModel {Dinner = dinner,Countries =
阅读全文
摘要:不管是通过action参数获取一个model,或者是手工calling UpdateModel()还是TryUpdateModel(),默认的DefaultModelBinder都将自动执行合法验证。但是,你用其他的方法更新model时,自动验证则会跳过。例如:public ActionResult MakeBooking(string clientName, DateTime? appointmentDate, bool acceptsTerms) { var appt = new Appointment { ClientName = clientName, AppointmentDate
阅读全文
摘要:在asp.net mvc编写扩展方法中需要使用到TagBuilder类,根据msdn的说法应该应用System.Web.Mvc.dll 程序集。
阅读全文
摘要:ASP.NET MVC的了解,让我们从Routing开始,站在应用的角度上看,这绝对是个非常简单的,因为应用程序中只需要寥寥几行代码就可以了!所以让我们从本质的角度上去了解,认清它的工作机制。从简单开始吧:public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute("Default", // Route name"{controller}/{action}/{i
阅读全文
摘要:最近在使用MVC进行开发时,使用进行客户端的输入验证,加上使用MVC3的新视图引擎感觉还是挺方便的,不用自己去写很多js了,并且效果也能让人接受可是遇上要向外输出比如一个CheckBox列表时就纠结了,验证代码还得自己去写,这样就造成了客户端采用了两套验证,感觉不统一也不优雅,于是就琢磨了一下,便有了如下实现方式。HtmlHelper的扩展类主要包括CheckBoxList,CheckBoxListFor等方法,有了这些方法,你可以这样生成checkBox 列表@Html.CheckBoxListFor(m=>m.RoleList,"li")下来就是扩展的全部代码 H
阅读全文
摘要:例如:Range、RegularExpression、Required、StringLength等验证属性,这些属性极大的方便了服务器端的验证,同时我们还可以自定义验证属性来满足我们特殊的需求,MVC3的出现进一步提升了验证的便捷性,具体体现在,新增了IValidatableObject和IClientValidatable接口,以及默认支持Range、RegularExpression、Required、StringLength等验证属性在客户端和服务器端进行验证。 IValidatableObject接口,网上已经有很多的资料了,今天我主要介绍IClientValidatable这个接口,
阅读全文
摘要:今天在这里给大家介绍一下MVC的数据验证框架。在1.0版中,很多朋友提出了怎么使用客户端验证,今天找了一些资料,发现了客户端验证的方法。1、MVC中的数据验证框架有何优点?在Asp.net时代,或者没有使用MVC的验证框架,一般是在BLL层中进行数据验证,但是BLL层的返回值又只能返回一个东西,比如一个字符串,而实际情况中,数据验证是很复杂的。这时候,BLL层和网站会分离的不彻底,因为很多代码不得不在网站中写。而在MVC的数据验证框架中,甚至可以不用BLL层,而在比BLL层更底层的Model层书写数据验证的代码。并且最后能在网页上显示出来。此图这就是最后的效果2、深入浅出?此框架有个优点,非常
阅读全文
摘要:Unobtrusive JavaScript 是什么? Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><!--以下是常规Javascript下写出来的Ajax--><div id="test"> <a href="http://www.cnblogs.com/" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this,
阅读全文
摘要:ASP.NET MVC 3 新特性有人译有人转:这个简单的诠释了MVC3的新功能。==================================================================导言ASP.NET MVC3 在 ASP.NET MVC 1 和 2 的基础上,增加了大量的特性,使得代码更加简化,并且可以深度扩展。这篇文章提供包含在此次发布中的许多新特性的说明,分为以下部分:•Razor 视图引擎 •支持多视图引擎 •Controller 改进 •JavaScript 和 Ajax •Model 验证的改进 •依赖注入 Dependency Injection
阅读全文
摘要:MockRespository有四种泛型方法:·CreateMock<T>·CreateDynamicMock<T>·PartialMock·Stub在3.5中,三种已经过时的方法分别由以下方法替代:·StrictMock<T>·DynamicMock<T>·PartialMock<T>·Stub<T>它们各自对应静态工厂方法:·MockRepository.GenerateStrictMock<T>·MockR
阅读全文
摘要:场景:最近在测试一个.NET的Http Module,这个Module是用来做URL重写的。刚开始进展的比较顺利,因为该Module里面的方法参数基本上都是String,后来这个Module进行了一下重构,所有参数都变成了HttpContext了,这就直接导致原来的单元测试都跑不起来了,接着就开始了弄HttpContext了。1. 采用Visual Studio自带的ASP.NET单元测试刚开始我看了一下被测试的代码,虽然说用到了HttpContext,但是有很多地方我都可以绕过去的,意思就是这个HttpContext只是名以上需要的一个参数,只要它不是NULL就可以了,并不影响我的测试,所以
阅读全文