我似乎无法在控制器中检索到在html.ActionLink中发送的ID,这就是我正在尝试做的事情
<li>
<%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>
public ActionResult Modify(string ID)
{
ViewData["Title"] =ID;
return View();
}
这是我跟随的一个教程推荐的,但它不起作用,它还将?Length=5放在网址的末尾!
这是我正在使用的路由,它是默认的
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
发布于 2008-11-25 11:01:22
看起来您没有使用正确的ActionLink重载。试试这个:-
<%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%>
这里假设您的视图位于/Views/Villa文件夹下。如果不是,那么我怀疑你需要:
<%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%>
发布于 2012-12-09 02:37:51
在MVC4中,您可以通过传递Id或主键从一个视图链接到另一个控制器
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)
发布于 2008-11-25 10:48:59
不要将@放在id之前
new { id = "1" }
当参数/路由中存在不匹配时,框架将其“翻译”为?Lenght
https://stackoverflow.com/questions/316889
复制相似问题