随笔分类 - MVC
Asp.net MVC3扩展之Ajax异常处理特性
摘要:在Asp.net MVC 3 Web开发中,我们会大量使用各种ajax请求,针对ajax请求如何结何server端如何做异常处理呢?我们可以扩展ActionFilterAttribute,实现一个Ajax异常处理特性。假设您是使用JQuery脚本开发来实现Ajax,看代码: 1: #region AjaxExceptionAttribute 2: /...
阅读全文
Asp.net MVC 3 防止 Cross-Site Request Forgery (CSRF)原理及扩展
摘要:Cross-Site Request Forgery (CSRF) 是我们Web站点中常见的安全隐患。 下面我们在Asp.net MVC3 来演示一下。 例如我们有一个HomeContoller中一个Submit Action,我们标记了Http Post[HttpPost]public ActionResult Submit(FormCollection fc){ if (!string.IsNullOrEmpty(fc["Title"])) { ViewBag.Message = "Submit success!"; return View(&quo
阅读全文
Asp.net MVC3 RTM的源代调试
摘要:首先,从CodePlex下载源码。 解压后编译一下,然后在我们要调试的Solution中开发那下面的项目: System.Web.Mvc System.Web.Helpers System.Web.WebPages System.Web.Razor System.Web.WebPages.Razor 同时也删除原来以上程序集原来的引用...
阅读全文
在Asp.net MVC framework中使用扩展方法创建Html Helper
摘要:HtmlHelper提供了一些帮助的方法返回一个字符串来生成html. 在System.Web.Mvc.Html命称空间下有一些表单,控件,局部视图Helper方法.我将创建一个生成标签<input type=”submit”,名称为SubmitConfirmHelper的类.看下面:using System.Web.Mvc;namespace Helpers{ public static ...
阅读全文
Asp.net MVC RTM1.0使用NUnit做测试项目
摘要:新建Asp.net MVC项目时,VSTS2008默认给我们创建的是MSTest。要实现新建测试项目选择NUnit。按下面的方法: 1.通过COPY模板到VS模板文件夹。 2.然后修改注册表,在命令行运行devenv /setup。 现在好了,已经有制定好的压缩包了,通过下面地址下载: NUnit Test Templates 下载压缩包,然后解压,然后运行其中的installNUnit.cmd ...
阅读全文
使用Moq修改默认的ASP.NET MVC项目单元测试
摘要:当你创建一个ASP.NET MVC项目时,你可能注意到自动增加基于ASP.NET membership的名为AccountController验证类.有一个问题,当你去看AccountController单元测试类时,你会发现它们是手动Mock的类.我们可以使用第三方mocking类库来代替它们.这里使用是Moq.Moq是一个轻量级mocking框架,基于.net Framework3.5与 LI...
阅读全文
Asp.netMVC中通过反射获取Controller的相关信息
摘要:在ASP.NET MVC开发中,通常有很多Controller,Action.我们可以从外面以反射,Linq的语法来获取些信息.Linq语法使得代码可读性高.看UnitTest: /// <summary> /// Tests the get info from controller. /// </summary> /// <remarks>http://win...
阅读全文
ASP.NET MVC Action Filters中有趣的Http Headers
摘要: 你想要你的Asp.net mvc 应用程序在一段时间后自动重定向一个指定的URL,是的你能用javascript中window.location来实现,除了javascript外呢?我们还可以使用ASP.NET MVC Action Filters.
阅读全文
Asp.net MVC 1.0 RTM中实现文件上传
摘要:Asp.net MVC 1.0 RTM中实现文件上传 在我们开始之前,你需要知道一个form以post方式上传文件的方式,你将要增加一个特别的enctype attribute到form标签上,为了这个么,我们需要创建一个像这样的form标签: 然后我们只需要增加一个Type为"file"的input,一个sumbit按钮的表单.你必须确保input上有"name" ...
阅读全文
ASP.NET MVC实现Localize站点的Action Filter
摘要:ASP.NET MVC实现Localize站点的 Action Filter 假设你已经了解Action Filter(see ASP.NET MVC的官方Understanding Action Filters),下面实现了Localize的Filter,直接看代码: 1 using System.Globalization; 2 using S...
阅读全文
使用Asp.net MVC源代码调试你的应用程序
摘要:1.从ASP.NET MVC source code from CodePlex下载源代码压缩包。然后解压到一个文件夹。 2.打开你的应用程序解决方案,增加System.web.mvc项目到你的解决方案中,如下图: 3.打开你的项目引用列表,在上面点击右键,删除对System.web.Mvc引用。 这个DLL已经注册到GAC中了,现在删除这个引用。 4.打你的项目,引用刚才增加的Syste...
阅读全文
Asp.net MVC 中使用JTemplates呈现表格
摘要:在Asp.net MVC 中,使得我们能够更加自由控制我们所想显示HTML。通常情况下,都要做一下数据列表。那么我们可以手动去拼一个表格出来,但这样有时对于复杂的表格说,那就JS代码比较复杂了。我们可以借助JS下的模板引擎,来实现这一功能。下面要介绍就是JTemplates,它也是基于Jquery的。 看效果: 看VIEW代码: ...
阅读全文
Asp.net MVC中表单验证
摘要:在Asp.net MVC 中,View中我们仍然需要对提交的表单进行验证。通常验证分为客户端验证,服务端验证。 客户端验证,我们可以使用JQuery validation plugin,服务端验证,除了使用ModelState属性显示错误信息到View,还可以使用Fluent Validation for .NET,一个小巧的.net验证框架,使用fluent的接口和lambda表达式对你的业...
阅读全文
JQuery+Asp.net MVC实现用户名重名查询
摘要:之前写过一篇Post用Ajax查询用户名是否重名,这次我们用JQuery的插件validate来实现,更加简单,相比之前用xmlhttprequest来说,不用考虑浏览器兼容的问题,这也是使用是Jquery这个轻量级框架的特点之一。 此处用的是ASP.NET MVC RC,aspx代码如下: Demo " method="post" id...
阅读全文
ASP.NET MVC 的URL路由介绍
摘要:ASP.NET MVC 的URL路由介绍 在这个教程中,向你介绍每个ASP.NET MVC一个重要的特点叫做URL路由。URL路由模块是负责映射从浏览器请求到特定的控制器动作。 在教程的第一部分,你将学习标准路由表如何映射到控制器的动作。在教程第二部分,你将学习如何修改默认路由表成为自定义路由。 使用默认路由表 当你创建一个新的ASP.NET MVC 应用程序,应用程序已经配置了默认的URL路由。...
阅读全文