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