加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 带ID的Html.Actionlink

发布时间:2020-12-16 04:11:30 所属栏目:asp.Net 来源:网络整理
导读:我有这个代码: @Html.ActionLink("Back To Blog","Blog","Home",new {Model.BlogId},null) 该代码生成此HTML: a href="/Home/Blog?BlogId=1"Back To Blog/a 但我想要它生成的是: a href="/Home/Blog/1"Back To Blog/a 我该如何解决? PS – 我在SO上看到
我有这个代码:
@Html.ActionLink("Back To Blog","Blog","Home",new {Model.BlogId},null)

该代码生成此HTML:

<a href="/Home/Blog?BlogId=1">Back To Blog</a>

但我想要它生成的是:

<a href="/Home/Blog/1">Back To Blog</a>

我该如何解决?

PS – 我在SO上看到这篇帖子似乎表明我正在以正确的方式做到这一点,但我没有得到我想要的结果.我正在使用MVC4,最新版本.

解决方法

我怀疑你没有为Home / Blog / {BlogId}配置路由.所以如果你想写这个(就像你在代码中显示的那样):
@Html.ActionLink("Back To Blog",new { Model.BlogId},null)

你需要有这样的路线:

routes.MapRoute(
    name: "DefaultBlog",url: "{controller}/{action}/{blogid}",defaults: new { controller = "Home",action = "Blog",blogid = UrlParameter.Optional }
);

注意url的第三部分名为blogid.但是,如果您不想配置其他路由,那么您只需将链接重写为:

@Html.ActionLink("Back To Blog",new { id = Model.BlogId},null)

注意参数上的id.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读