基础培训之路由和视图.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1:普通的实体类2:带有Mvc特性的实体类1:什么是路由? 路由的定义是从URL模式开始的,因为它指定了与路由相匹配的模式,路由可以指定它的URL及其默认理解URL值,还可以约束URL的各个部分,提供关于路由如何、何时、传入的请求URL相匹配的严格控制2:路由和URL重写? URL重写是将URL映射到另一个URL,而路由是将URL映射到资源两者的区别:路由机制也使用它在匹配传入URL时同样的映射规则来帮助生成URL,而URL重写只能用于传入的请求URL,而不能帮助生成原始的URL1:Routing 的命名空间 路由 的命名空间是System.Web.Routing ,Routing不是MVC 3 独有的,在WebForm中也可是使用。一般会运用在Url重写,比如:301永久跳转等,配合项目做SEO!如果您还没有用到过Url重写技术的话,证明您做的项目不需要 SEO 。2:Routing的作用? 1. 确定Controller? 2. 确定Action 3. 确定其他参数(一般就是Action方法的参数了) 4. 根据识别出来的Controller Action 将请求传递给对于的Controller 和 Action 。3:Routing 是如何工作的? 输入地址: ,程序是如何找到这个页面的? 其实我们在项目中有个全局文件Global.asax里面,有这么一段代码: RegisterRoutes.RegisterRoute(RouteTable.Routes);它的主要作用就是程序初始化运行的时候,把我们的路由注册起来。具体的默认代码是这样的:3:Routing 是如何工作的?其实我们发现这几行代码就定义了一个路由匹配规则,下面我们将一下具体的参数是什么意思。调用的方法如下:1:name 参数: 规则名称,不可以重复,即路由名必须是唯一的。2:url 参数: 将要识别的参数括起来即可, 比如: {controller}/{action}/{id} 这里的{}就是占位符 您可以这样理解大家都用过string类的Format方法吧!例如:string.Format({0}aaaa{1}bbb,“1”,“2”);? 怎么样明白了吧!3:Routing 是如何工作的?3:defaults 参数: url参数的默认值,当我们新建了一个mvc 项目的时候当运行浏览可以看到地址栏没有任何的参数只有一个比如 ?它什么就转向了home下的index页面呢?这就是这个参数的作用了,它可以定义默认的controller action 以及 id参数 这个还得说一下您看上面的代码为什么id不给一个具体的值而是给一个UrlParameter.Optional 呢 这个呢 因为您不能保证id的类型是int 的还是 stirng 等等 ,写id= UrlParameter.Optional 它会根据id的类型还具体的指定什么类型的默认值比如int型的就是0吧!4:?constraints参数: 这个参数在再上面的代码中没有出现 我先提前说下 然后一会儿咱再看代码吧!这个参数的作用是用来限定每个参数的规则或http请求的类型constraints属性是一个RouteValueDictionary对象,也就是一个字典表, 但是这个字典表的值可以有两种:1.用于定义正则表达式的字符串。正则表达式不区分大小写? 2.?一个用于实现 IRouteConstraint 接口且包含?match 方法的对象。4:Routing 匹配有没有优先级呢?路由匹配是有优先级的也就是说您定义路由规则的的时候是有顺序的,假如您定义了一个非常复杂的路由但是您放在了最下面,恰巧呢上面的路由规则有符合的那您就挂了,永远不会匹配到您定义的那个路由。怎么办捏 把不容易匹配的路由放在最上面,把最容易匹配的路由放在最下面,这里我还得说一点 有个路由能匹配所有的url什么呢 看下面代码{*AllUrl}5:Routing 调试路由配置规则看起来蛮多的,还有优先级之分,那我们如何确保我们配置的路由没有问题呢?就需要我们对配置的路由进行测试了,其实很简单,在Web.config中配置:add key=“RouteDebugger:Enabled” value=“true” /是否启用路由调试。那么我们看一下 这地址的运行效果吧。1:路由和URL重写? URL重写是将URL映射到另一个URL,而路由是将URL映射到资源两者的区别:路由机制也使用它在匹配传入URL时同样的映射规则来帮助生成URL

文档评论(0)

153****2416 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档