【问题标题】:How to pass String in Querystring Parameter in @Html.ActionLink如何在@Html.ActionLink 的查询字符串参数中传递字符串
【发布时间】: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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        相关资源
        最近更新 更多