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主机

    远程联机linux主机 推荐使用 ssh  如 ssh user@www.abc.com(ssh使用公钥+私钥非对称加密,数据传输安全,不要使用telnet) 传输文件:sftp 或者 scp 若想使 ...

  2. 模板volist自增变量

  3. BZOJ 1584 DP

    显然序列不能超过sqrt(n),因为最差情况是每个都独立答案为n #include <iostream> #include <cstring> #include <cst ...

  4. 【RobotFramework】Selenium2Library类库关键字使用说明

    Add CookieArguments:[ name | value | path=None | domain=None | secure=None | expiry=None ]Adds a coo ...

  5. nginx做nodejs(express等通用)反向代理

    首先配置环境nginx+nodejs...(没有请看我的其他文章,此处不重复) cd 到nginx的site-available目录 ubuntu的在 cd /etc/nginx/site-avail ...

  6. 驱动实现led,pwm和中断基础知识

    2015.4.8星期三 晴天 今天老师讲的内容是内核编写led和pwm驱动,实现花样灯和放歌的功能.理解应用和驱动的对接,最后自己实现了在放歌的时候根据歌曲的节奏亮灭一个小灯,应为两个独立的驱动都已经 ...

  7. WIN32服务程序(一):创建服务

    MSDN中有安装服务的例子Installing a Service(可点击进入),我们这里的创建服务,和MSDN里的例子基本上是一样的.这里做一些简单的说明: 打开控制面板,管理工具,服务.我们看到的 ...

  8. asp.net MVC控制器中返回JSON格式的数据时提示下载

    Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...

  9. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  10. pylot是一款开源的web性能测试工具

    pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...