【问题标题】:ASP.NET MVC passing an ID in an ActionLink to the controllerASP.NET MVC 将 ActionLink 中的 ID 传递给控制器
【发布时间】:2008-11-25 10:07:09
【问题描述】:

我似乎无法检索我在控制器中的 html.ActionLink 中发送的 ID,这就是我正在尝试做的事情

<li>
    <%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>


    public ActionResult Modify(string ID)
    {

        ViewData["Title"] =ID;
        return View();
    }

这是我遵循的教程推荐的,但它不起作用,它还在 URL 的末尾加上 ?Length=5!

这是我正在使用的路线,它是默认的

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    您似乎没有使用正确的 ActionLink 重载。试试这个:-

    <%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%>
    

    这假设您的视图位于 /Views/Villa 文件夹下。如果没有,那么我怀疑您需要:-

    <%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%>
    

    【讨论】:

    • 好调用 - 问题是该函数的第一个重载将“HtmlAttributes”作为第四个参数。所以添加“,null”会强制编译器使用你的内联对象作为路由参数。
    【解决方案2】:

    在 MVC 4 中,您可以从一个视图链接到另一个通过 Id 或主键传递的控制器

    @Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null) 
    

    【讨论】:

      【解决方案3】:

      不要把@放在id之前

      new { id = "1" }
      

      当参数/路由不匹配时,框架将其“翻译”为 ?Lenght

      【讨论】:

        【解决方案4】:

        在 MVC 5 上非常相似

        @Html.ActionLink("LinkText", "ActionName", new { id = "id" })
        

        【讨论】:

          【解决方案5】:

          ID 也可以与前面的@ 符号一起使用,但我们必须在此之后添加一个参数。那是null

          看起来像:

          @Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)
          

          【讨论】:

            猜你喜欢
            • 2015-05-05
            • 1970-01-01
            • 2017-12-09
            • 2016-10-18
            • 2018-07-07
            • 1970-01-01
            • 1970-01-01
            • 2010-09-14
            • 2011-01-01
            相关资源
            最近更新 更多