首页 > Web开发 > 详细

生成输出 URL(16.2)

时间:2017-10-10 18:47:58      阅读:218      评论:0      收藏:0      [点我收藏+]

1、在视图中生成输出 URL

    几乎在每一个 MVC 框架应用程序中,你都会希望让用户能够从一个视图导航到另一个视图 —— 通常的做法是在第一个视图中生成一个指向第二个视图的链接该链接以第二个视图的动作方法为目标

    手工定义 URL 快而简单,但也有很大风险——在每一次修改应用程序的 URL 方案时,都可能打断所有这种编码的 URL。—— 一个更好的替代方法是使用路由系统来生成输出 URL,这能够确保 URL 方案动态地生成 URL,这种方式确保了应用程序的 URL 方案能够得到反映。

  16.2.1 用路由系统生成输出 URL

    在一个视图中生成输出 URL 最简单的办法是在视图中调用 Html.ActionLink 辅助器方法。(  @Html.ActionLink("链接文本", "目标动作方法的名称")  

    传给 ActionLink 方法的参数是“链接文本”和“该连接的目标动作方法的名称”。(还有其他重载方式)

    (ActionLink 方法生成的 HTML 是基于当前路由配置的,这种方法能够自动对路由配置的更改进行响应)

    以这种方式生成链接(利用路由系统生成输出 URL)可以解决维护问题。—— 我们可以修改路由方案,而在视图中的输出链接会自动地反映处这种修改。(而且,当点击链接时,输出 URL 就自然地生成一个规则的输入请求)

  16.2.2 以其他控制器为目标

    ActionLink 方法的默认版本假设,输出 URL 的目标动作方法与链接所在视图对应的动作方法属于同一个控制器。

    为了创建一个以不同控制器为目标的输出 URL,可以使用一个重载版本它允许你指定控制器名称

     @Html.ActionLink("链接文本", "动作方法", "控制器")  

    (在生成输出 URL 时,路由系统不会对动作方法和控制器的值进行检验,因此你必须小心,不要指定不存在的目标)

    路由系统相当聪明,它知道应用程序中定义的路由会使用默认的 Index 动作方法,所以在渲染视图时,生成的 HTML 中允许省略不必要的片段。(如 Index 动作方法)

    在决定如何以给定给定动作方法为目标时,路由系统包含使用 Route 属性已经定义的路由。即:

    如果控制器中 Index 动作方法如下所示:

      [ Route("~/Test") ]

      public ActionResult Index() {……}

生成输出 URL(16.2)

原文:http://www.cnblogs.com/zhangchaoran/p/7647060.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!