【发布时间】:2012-01-04 02:37:22
【问题描述】:
当我使用 Html.ActionLink() 时,创建的 URL 不是所需的格式:
Html.ActionLink(Model.ProductCode, "Update", new { id = Model.ProductId })
制作这个网址
/Update?id=1
当我想要这个网址时:
/Update/1
哪些路由选项会创建第二个 URL?这是我们首选的 URL 样式。
两个 URL 都有效并且显示了正确的页面 - 但是我们只想使用 /id
在 Global.asax 中,MVC 默认路由处理两个 URL
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" }); // Parameter defaults
【问题讨论】:
-
你有匹配的路线吗?
-
你能在 global.asax 中发布路线吗?
-
两条路线目前都有效。我只希望 ActionLink 以我们的首选格式生成 URL。
-
只是为了确定......您的控制器操作是否指定了一个名为“id”的参数?
-
@JK Global.asax 文件中的路由声明可能存在一些问题。能否请您发布 Global.asax 文件的内容,以便我们进一步调查?
标签: asp.net-mvc url asp.net-mvc-routing