我写了以下代码:
@Html.ActionLink("Edit", "EditPost", new { id = item.PostID })
它显示 URL,.../Post/EditPost/32
但实际上我想显示它...../Post/EditPost?ID=32
在 Razor View 中怎么可能???
我写了以下代码:
@Html.ActionLink("Edit", "EditPost", new { id = item.PostID })
它显示 URL,.../Post/EditPost/32
但实际上我想显示它...../Post/EditPost?ID=32
在 Razor View 中怎么可能???
URL 构造通常由路由决定,如果您想强制它使用查询字符串,那么只需从中删除任何参数概念,例如
routes.MapRoute(
"EditPostRoute",
"Post/EditPost",
new { controller = "Edit", action = "EditPost" }
);
您的@Html.ActionLink
代码应该生成.../Post/EditPost?ID=32
.
将Action Edit 参数从 更改int
为string
。然后它会如你所愿显示
public ActionResult Edit(string ID)
{
=======
=======
}
@Html.ActionLink("Edit", "EditPost", new { ID = item.PostID },null)
另一种解决方案id = UrlParameter.Optional
从Global.asax/Route Table