mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏。借助Url.RouteUrl或者Html.RouteLink就可以轻松实现,再以后的改变中将不用再去理会路由规则的改变而带来的工作量。

路由规则:

//bubuko测试
routes.MapRoute("bubuko_1", "{controller}-{action}-{eID}-{pageIndex}.html",
new { controller = "abc", action = "Index" }); //bubuko测试
routes.MapRoute("bubuko_2", "{action}-{eID}-{pageIndex}.html",
new { controller = "abc", action = "Index" });

cshtml中代码:

Url.RouteUrl方式,路由名称是“bubuko_1”:@Url.RouteUrl("bubuko_1", new { eID = ViewBag.eID, pageIndex = ViewBag.pageIndex })
<br />
Url.RouteUrl方式,路由名称是“bubuko_2”:@Url.RouteUrl("bubuko_2", new { eID = ViewBag.eID, pageIndex = ViewBag.pageIndex }) <br />
<br /> Html.RouteLink方式,路由名称是“bubuko_1”:@Html.RouteLink("bubuko.com分享超链接", "bubuko_1", new { eID = ViewBag.eID, pageIndex = ViewBag.pageIndex }, new { id = "abc" })
<br />
Html.RouteLink方式,路由名称是“bubuko_2”:@Html.RouteLink("bubuko.com分享超链接", "bubuko_2", new { eID = ViewBag.eID, pageIndex = ViewBag.pageIndex }, new { id = "abc" })

显示效果,html代码:

Url.RouteUrl方式,路由名称是“bubuko_1”:/abc-abclist-10-12.html
<br />
Url.RouteUrl方式,路由名称是“bubuko_2”:/abclist-10-12.html <br />
<br /> Html.RouteLink方式,路由名称是“bubuko_1”:<a href="/abc-abclist-10-12.html" id="abc">bubuko.com分享超链接</a>
<br />
Html.RouteLink方式,路由名称是“bubuko_2”:<a href="/abclist-10-12.html" id="abc">bubuko.com分享超链接</a>

原文:mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变

地址:http://bubuko.com/infodetail-146023.html

mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]的更多相关文章

  1. MVC中URL传多个参数

    1.mvc中url传递多个参数不能直接使用&,会报错(从客户端(&)中检测到有潜在危险的 Request.Path 值) 方法①:使用?---/Home/Index/?id=xxx&a ...

  2. ASP.NET Core MVC中URL和数据模型的匹配

    Http GET方法 首先我们来看看GET方法的Http请求,URL参数和ASP.NET Core MVC中Controller的Action方法参数匹配情况. 我定义一个UserController ...

  3. MVC中url路由规则

    Routing:首先获取视图页面传过来的请求,并接受url路径中的controller和action以及参数数据,根据规则将识别出来的数据传递给某controller中的某个action方法 MapR ...

  4. ASP.NET MVC中URL末尾斜杠的实现

    在网站的SEO优化中,通常都会涉及到URL结尾斜杠的问题. http://blog.sina.com.cn/s/blog_828e7ce40100srj1.html http://www.dengyo ...

  5. MVC中Url请求与控制器的默认约定

    1.请求的url如:http://localhost:52481/Home/Browse?genre=1控制器方法:public string Browse(string genre) //这里返回值 ...

  6. MVC中Asp.Net管道(二)

    Asp.Net管道: 1.在工作进程w3wp.exe中,利用asp.net_isapi加载.NET运行时,6.0中引入了应用程序池的概念,一个工作进程对应的一个应用程序池.一个应用呢程序池可以加载一个 ...

  7. mvc中查询字符串请求过长

    最近在mvc中做导出Excel功能,通过页面把字段id和对应的中文名称通过a标签传给控制器的过程中,总是报错. 1.第一次错误截图 具体解决方案: 可以配置 IIS 服务器以拒绝查询字符串长度大于指定 ...

  8. MVC中权限的知识点及具体实现代码

    一:知识点部分 权限是做网页经常要涉及到的一个知识点,在使用MVC做权限设计时需要先了解以下知识: MVC中Url的执行是按照Controller->Action->View页面,但是我们 ...

  9. Ext.Net学习笔记24:在ASP.NET MVC中使用Ext.Net

    在前面的笔记中已经介绍了如何在ASP.NET WebForm中使用Ext.Net,由于这个系列一直在WebForm中使用,所以并没有涉及到ASP.NET MVC中的用法. 如果你要在ASP.NET M ...

随机推荐

  1. [Linux学习]Shell脚本(1)--函数,输入,if判断(持续更新)+删除空行 +保存当前路径

    1)接收输入 check_status() { echo --Check hi_repo status is ok? y or n read var if [ "$var" != ...

  2. Spring中的IOC\DI\AOP等概念的简单学习

    IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终, 所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.Spr ...

  3. 纯CSS 箭头流程,网上找的,留着备用

    无意之中看到一个纯CSS做的箭头导航(流程式),收藏一下,以备不时之需 实际效果 步骤一 步骤二 步骤三 步骤四 源代码: HTML: <div class="wrapper" ...

  4. Freemark基本语法知识(转)

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输 ...

  5. blog已搬迁

    All blogs are moved to my currently-used site: http://jianlu.github.io/

  6. 视音频技术作业一:比较CCD与CMOS摄像的区别

    作业详解: CCD与CMOS简介: CCD: CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动 ...

  7. 【转】JavaScript 风格指南/编码规范(Airbnb公司版)

    原文转自:http://blog.jobbole.com/79484/ Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript 风格指南/编码规范,在 Github 上有 11 ...

  8. C++开发过程多线程同步lock的实现

    在程序开发过程经常使用到多线程,而多线程始终与锁存在紧密地联系,以下详细的介绍如何在C++程序开发过程中自定义锁的几种方法. 1. 下面给出一段代码展现如何通过Mutex实现锁的功能(window p ...

  9. 【转】 TechED2010与我(三) —— 初识云计算

    作者用到的比喻很好. 网址:TechED2010与我(三) -- 初识云计算 初识云计算最近"云计算"被炒的很热,但是由于工作重点主要是做WinForm的控件开发,对云计算的接触比 ...

  10. ubuntu 非常简单的方式安装多个perl版本

    参考http://stackoverflow.com/questions/22934080/how-to-downgrade-to-perl-5-10-1 Perlbrew will allow yo ...