【发布时间】:2013-07-19 11:52:08
【问题描述】:
我写了以下代码:
@Html.ActionLink("Edit", "EditPost", new { id = item.PostID })
它显示像.../Post/EditPost/32这样的URL
但实际上我想像...../Post/EditPost?ID=32一样显示它
Razor View 怎么可能???
【问题讨论】:
标签: c# javascript asp.net .net razor
我写了以下代码:
@Html.ActionLink("Edit", "EditPost", new { id = item.PostID })
它显示像.../Post/EditPost/32这样的URL
但实际上我想像...../Post/EditPost?ID=32一样显示它
Razor View 怎么可能???
【问题讨论】:
标签: c# javascript asp.net .net razor
URL 构造通常由路由决定,如果你想强制它使用查询字符串,那么只需从中删除任何参数概念,例如
routes.MapRoute(
"EditPostRoute",
"Post/EditPost",
new { controller = "Edit", action = "EditPost" }
);
您的@Html.ActionLink 代码应生成.../Post/EditPost?ID=32。
【讨论】:
将操作编辑参数从 int 更改为 string。然后它会显示为你想要的
public ActionResult Edit(string ID)
{
=======
=======
}
@Html.ActionLink("Edit", "EditPost", new { ID = item.PostID },null)
另一种解决方案
从Global.asax/Route Table 中删除id = UrlParameter.Optional
【讨论】: