c# System.Web.Mvc.UrlHelper.GenerateUrl 方法有错误吗?

发布于 2024-12-27 05:36:54 字数 799 浏览 0 评论 0原文

我的英语不太好,请多多包涵。 Global.asax 文件中的路由:

routes.MapRoute("Default","{controller}/{action}/{Page}/{id}",new { controller = "Home", action = "Index", Page = 0, id = UrlParameter.Optional });

@Html.ActionLink("LinkText","About",null,new{id="_ID"})

在视图页面中使用@Html.Action 编写。 在浏览器中打开url时

http://localhost/Home/About

,查看页面的url结果是:

http://localhost/Home/About

没错! 但是当打开 url 时,

http://localhost/Home/About/8

查看页面中的 url 结果也是

http://localhost/Home/About/8

如此。为什么? 这是一个错误吗?

我想要的网址是 http://localhost/Home/About, 因为名为routeValues的参数的值为null。

My English not wel, please bear with me a lot.
routes in Global.asax file:

routes.MapRoute("Default","{controller}/{action}/{Page}/{id}",new { controller = "Home", action = "Index", Page = 0, id = UrlParameter.Optional });

I used @Html.Action write

@Html.ActionLink("LinkText","About",null,new{id="_ID"})

in View page.
When opening url with

http://localhost/Home/About

in the broswer,The url result In the View page is:

http://localhost/Home/About

It's right!
But When opening url with

http://localhost/Home/About/8

The url result In the View page is

http://localhost/Home/About/8

too. Why?
This is a bug?

I want url is http://localhost/Home/About,
Because the value of parameter named routeValues is null.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音栖息无 2025-01-03 05:36:54

如果您使用 null 作为 RouteValue,那么它将使用当前的 RouteValues。

而是使用:

@Html.ActionLink("LinkText","About",new{page=0, id=""},new{id="_ID"})

If you use null as your RouteValue then it will use the current RouteValues.

Rather use:

@Html.ActionLink("LinkText","About",new{page=0, id=""},new{id="_ID"})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文