首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将ActionLink中的ID传递给控制器的ASP.NET MVC

将ActionLink中的ID传递给控制器的ASP.NET MVC
EN

Stack Overflow用户
提问于 2008-11-25 10:07:09
回答 5查看 216K关注 0票数 102

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

代码语言:javascript
复制
<li>
    <%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>


    public ActionResult Modify(string ID)
    {

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

这是我跟随的一个教程推荐的,但它不起作用,它还将?Length=5放在网址的末尾!

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

代码语言:javascript
复制
        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-11-25 11:01:22

看起来您没有使用正确的ActionLink重载。试试这个:-

代码语言:javascript
复制
<%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%>

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

代码语言:javascript
复制
<%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%>
票数 207
EN

Stack Overflow用户

发布于 2012-12-09 02:37:51

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

代码语言:javascript
复制
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null) 
票数 30
EN

Stack Overflow用户

发布于 2008-11-25 10:48:59

不要将@放在id之前

代码语言:javascript
复制
new { id = "1" }

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

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/316889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档