如何在@Html.ActionLink中的Querystring参数中传递String

本文关键字:参数 String Querystring 中的 @Html ActionLink | 更新日期: 2023-09-27 18:23:51

我已经编写了以下代码:

@Html.ActionLink("Edit", "EditPost", new { id = item.PostID })

它显示类似.../Post/EditPost/32的URL但实际上我想把它显示成...../Post/EditPost?ID=32

在Razor View中怎么可能???

如何在@Html.ActionLink中的Querystring参数中传递String

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)

另一种解决方案从Global.asax/Route Table 中删除id = UrlParameter.Optional