Asp.net MVC 路由基础】的更多相关文章

路由检测插件RouteDebugger.dll web.config里<appSettings>节点内添加<add key="RouteDebugger:Enabled" value="true"/> 实现:RouteDebuggerHttpModule:IHttpModule 路由约束 routes.MapRoute(name:,url:,defaults:new{controller="",action="&…
ASP.NET MVC路由(一) 前言 从这一章开始,我们即将进入MVC的世界,在学习MVC的过程中在网上搜索了一下,资料还是蛮多的,只不过对于我这样的初学者来看还是有点难度,自己就想看到有一篇引导性的资料可以帮助我初步的了解一下这部分知识,然后再去学习大神们写的资料.并不是说看完文章就会可以开发.可以怎么怎么样,没有!这些都没有,只是让你在脑海中把这部分内容记住它们的模型图以及一个大概的在MVC框架中的位置或者是整个系统中的位置,说了这么多的目的就是让大家更好的了解基础知识,有了它以后的进阶会…
ASP.NET MVC路由(四) 前言 在前面的篇幅中我们讲解路由系统在MVC中的运行过程以及粗略的原理,想必看过前面篇幅的朋友应该对路由有个概念性的了解了,本篇来讲解区域,在读完本篇后不会肯定的让你对区域有彻底的了解,但是会让你在以后对这部分知识掌握的路上夯上厚实的基础. 区域 在路由的起初在按照VS环境新建的MVC项目来讲的,今天区域也是按照这样的套路来讲.MSDN上说,在大型项目使用中被MVC划分为较小单元也就是区域,我没有使用过区域的经验,所以这篇只能讲解它的对象模型以及粗略的原理. (…
ASP.NET MVC路由(四) 前言 在前面的篇幅中我们讲解路由系统在MVC中的运行过程以及粗略的原理,想必看过前面篇幅的朋友应该对路由有个概念性的了解了,本篇来讲解区域,在读完本篇后不会肯定的让你对区域有彻底的了解,但是会让你在以后对这部分知识掌握的路上夯上厚实的基础. 区域 在路由的起初在按照VS环境新建的MVC项目来讲的,今天区域也是按照这样的套路来讲.MSDN上说,在大型项目使用中被MVC划分为较小单元也就是区域,我没有使用过区域的经验,所以这篇只能讲解它的对象模型以及粗略的原理. (…
 ASP.NET MVC路由(二) 前言 在上一篇中,提及了Route.RouteCollection对象的一些信息,以及它们的结构所对应的关系.按照处理流程走下来还有遗留的疑问没有解决这个篇幅就来讲解一下. URL规则的生成 Url规则看名字挺吓唬人的,其实就是根据我们自定义的Url来解析出一个模式,然后等待请求的Url来的时候,跟我们定义的模式进行匹配(如下图).这是后续的内容. 在上篇中说到URL规则的定义是在Route对象中的,下面来讲解在Route对象中怎么根据用户注册的URL转变成U…
ASP.NET MVC路由(三) 前言 通过前两篇的学习会对路由系统会有一个初步的了解,并且对路由系统中的Url规则有个简单的了解,在大家的脑海中也有个印象了,那么路由系统在ASP.NETMVC中所处的位置在哪呢? RouteData 路由系统在ASP.NETMVC框架中的默认的实现位置是在RulRoutingModule中.对于Module下个篇幅会有所讲解. 本篇主题在于说明RouteData对象,因为MVC框架在根据服务器端注册好的Route对象集合和请求的Url匹配所得一个Route对象…
ASP.NET MVC 路由(五) 前言 前面的篇幅讲解了MVC中的路由系统,只是大概的一个实现流程,让大家更清晰路由系统在MVC中所做的以及所在的位置,通过模糊的概念描述.思维导图没法让您看到路由的实际运用,特此篇幅来说明一下简单的示例. 路由的命名空间的定义 对于路由当中url规则.默认值.url参数约束这些的定义网上都有,本篇讲一下路由中命名空间的定义. 大家都知道路由的作用,让请求匹配到合理的控制器名称,并且交由控制器工厂来生成控制器来执行请求.然而在项目中难免会命名出相同名称的控制器,…
http://cache.baiducontent.com/c?m=9d78d513d98316fa03acd2294d01d6165909c7256b96c4523f8a9c12d52219564615fea662675513d3b23a2752fe1e08b9a1706537747ce0ddd5fb0b9fac925e53df6129035dc43d459566eb9a5125b740cd1daff445b2adf045c0ef9099&p=8a7bd215d9c041a807be9b7c4…
AngularJS html5Mode与ASP.NET MVC路由共存 前言 很久之前便听说AngularJS,非常酷,最近也比较火,我也在持续关注这个技术,只是没有认真投入学习.前不久公司找我们部门做一个OA系统(想省下几万大洋的费用),第一时间便想到AngularJS,非常适合OA这种单页应用,再配合Twitter的Bootstrap,能在短时间内做出一套漂亮的系统.当然,很大程度上还是想用实践来加强自己对新技术的学习,难得公司有这么个好机会!不过,本文的重点不是一步步开发学习,所以此处省去…
Asp.Net MVC路由调试好帮手RouteDebugger 1.获取方式 第一种方法: 在程序包控制台中执行命令 PM> Install-Package routedebugger 安装成功后Web.config文件中会自动加入行 <add key="RouteDebugger:Enabled" value="true" /> 第二种方法: 下载之后,解压之后得到RouteDebugger.dll,引用到web项目中. 手动在web.confi…
ASP.NET MVC路由(五) 前言 前面的篇幅讲解了MVC中的路由系统,只是大概的一个实现流程,让大家更清晰路由系统在MVC中所做的以及所在的位置,通过模糊的概念描述.思维导图没法让您看到路由的实际运用,特此篇幅来说明一下简单的示例. 路由的命名空间的定义 对于路由当中url规则.默认值.url参数约束这些的定义网上都有,本篇讲一下路由中命名空间的定义. 大家都知道路由的作用,让请求匹配到合理的控制器名称,并且交由控制器工厂来生成控制器来执行请求.然而在项目中难免会命名出相同名称的控制器,我…
ASP.NET的路由系统是基于物理文件的路由注册,通过调用System.Routing.RouteTable的Routes(RouteCollection)属性的MapPageRoute()方法来完成. ASP.NET MVC路由系统需要针对Controller和Action来注册路由,那么MVC对RouteCollection进行了一系列的扩展,实现文件路径的无关性.这些扩展定义在System.Web.Mvc.RouteCollectionExtensions类型中. RouteCollect…
ASP.NET MVC的路由是MVC应用的一个核心也是MVC应用处理的入口,作为一个开发者,在正常情况下仅仅需要做的就是根据需求去定义实体.业务逻辑,然后在MVC的Controller中去调用.View中去展现,“路由”仅仅是定义一个路由表,使用户在点击一个链接时,应用能够命中正确的Controller.正确的Action并获取到正确的参数,使程序能够正常运行. 但ASP.NET没有魔法,一个HTTP请求为什么能够被ASP.NET识别为MVC请求,而不是Web Page或者是静态资源文件?MVC…
之前的文章中介绍了My Blog文章维护功能的开发,开发过程中使用Area的方法建立了用于维护文章的Controller.View和Model.但是无论代码怎么变对于浏览器来说都是通过一个url地址去访问,现在My Blog可用的url有以下几个: http://localhost:52356/ -- 主页 http://localhost:52356/Home --主页 http://localhost:52356/Post --博客列表 http://localhost:52356/Post…
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈ASP.NET MVC 视图 [09]浅谈ASP.NET MVC 视图与控制器传递数据 [10]浅谈jqGrid…
关于路由的理解 为什么要定义路由?路由的定义在开发中的工作量非常小,但是非常重要,因为任何请求都离不开路由. 各个电商网站的 URL 使用非常灵活,都离不开路由的定义,请大家参考几家电商的 URL 如下:  使用路由的好处: 能够根据系统需求,灵活的划分请求规则(不同模块请求的 URL 是不一样的). 屏蔽物理路径,提高系统的安全性,以上情况是无法根据 URL 分析视图文件在站点目录中的位置. 有利于搜索引擎优化,可以将 URL 请求统一规范,以后维护中,如果页面发生变化,URL 可以保持不变.…
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分…
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分…
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由…
MVC将一个Web应用分解为:Model.View和Controller.ASP.NET MVC框架提供了一个可以代替ASP.NETWebForm的基于MVC设计模式的应用. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 一.命名参数规范+匿名对象 routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}&q…
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的 URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的 CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后…
把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了. XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 命名参数规范+匿名对象 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Ind…
继续延续坑爹标题系列.其实只是把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了,当做自己总结吧.内容看看就好,排版就不要吐槽了,反正我知道你也不会反对的. XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 命名参数规范+匿名对象 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new…
URL构造 命名参数规范+匿名对象 routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); 构造路由然后添加     Route myRoute = new Route(&quo…
一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: <input name="UserName&quo…
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出,区域的功能类似一个小的MVC项…
ASP.NET WebForm 应用,用户请求的是物理文件,其中包括静态页面和动态页面,在Url中的显示都是服务器中一个物理文件的相对路径.但是ASP.NET MVC就不同了,用户请求的是Controller中一个Action方法,这种请求是通过路由将Url映射到相对的Controller和Action中. ASP.NET MVC是在Application_Start时,定义了路由的规则,当用户使用规定的路由规则进行访问时,就会通过路由映射的方式实现用户完整的Url访问.下面我们就开始使用Asp…
继续往下看<ASP.NET MVC5框架揭秘>. ASP.NET系统通过注册路由和现有的物理文件路径发生映射.而对于ASP.NET MVC来说,请求的是某个Controller中的具体的Action方法. 路由注册和忽略的方法与ASP.NET不同,位于RouteCollectionExtensions中. routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Defaul…
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有 两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出, 区域的功能类似一个小的MV…
一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: 1 <input name="UserName&q…