C# ASP.NET MVC在ActionLink中将ID传递给控制器
我似乎无法在我的控制器中检索html.ActionLink中发送的ID,以下是我尝试执行的操作C# ASP.NET MVC在ActionLink中将ID传递给控制器,c#,asp.net-mvc,C#,Asp.net Mvc,我似乎无法在我的控制器中检索html.ActionLink中发送的ID,以下是我尝试执行的操作 <li> <%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li> public ActionResult Modify(string ID) {
<li>
<%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>
public ActionResult Modify(string ID)
{
ViewData["Title"] =ID;
return View();
}
不要把@放在id前面
new { id = "1" }
当参数/路由不匹配时,框架会“转换”它的长度看起来您没有使用正确的ActionLink重载。试试这个:-
<%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%>
这假定您的视图位于/Views/Villa文件夹下。如果没有,我怀疑您需要:-
<%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%>
在MVC 4中,您可以从一个视图链接到另一个控制器,并通过
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)
ID将与前面的
@
符号一起使用,但我们必须在后面添加一个参数。即null
看起来像:
@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)
在MVC5上是非常相似的
@Html.ActionLink("LinkText", "ActionName", new { id = "id" })
好的调用-问题是该函数的第一个重载将“HtmlAttributes”作为第四个参数。因此,添加“null”强制编译器使用内联对象作为路由参数。
@Html.ActionLink("LinkText", "ActionName", new { id = "id" })