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

时间:2013-07-19 11:52:08

标签: c# javascript asp.net .net razor

我写了以下代码:

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

显示.../Post/EditPost/32之类的网址 但实际上我想像...../Post/EditPost?ID=32

那样显示它

在Razor View中怎么可能???

2 个答案:

答案 0 :(得分:1)

URL构造通常由路由决定,如果你想强制它使用查询字符串,那么只需删除它的任何参数概念,例如。

routes.MapRoute(
    "EditPostRoute",
    "Post/EditPost",
    new { controller = "Edit", action = "EditPost" }
);

您的@Html.ActionLink代码应生成.../Post/EditPost?ID=32

答案 1 :(得分:0)

更改操作编辑参数从intstring。然后它会显示你想要的

public ActionResult Edit(string ID)
{
     =======
     =======
}

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

另一种解决方案  从id = UrlParameter.Optional

中删除Global.asax/Route Table