微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有这个代码
@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.

原文地址:https://www.jb51.cc/aspnet/247491.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐