I can't see to retrieve an ID I'm sending in a html.ActionLink in my controller, here is what I'm trying to do
<li>
<%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>
public ActionResult Modify(string ID)
{
ViewData["Title"] =ID;
return View();
}
That's what a tutorial I followed recommended, but it's not working, it's also putting ?Length=5 at the end of the URL!
Thanks in advance!
edit: here is the route I'm using, it's default
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
it appears someone has downvoted the two suggestions below but not posted their solution!
This question is related to
c#
asp.net-mvc
Don't put the @ before the id
new { id = "1" }
The framework "translate" it in ?Lenght when there is a mismatch in the parameter/route
In MVC 4 you can link from one view to another controller passing the Id or Primary Key via
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)
The ID will work with @
sign in front also, but we have to add one parameter after that. that is null
look like:
@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)
On MVC 5 is quite similar
@Html.ActionLink("LinkText", "ActionName", new { id = "id" })
Don't put the @ before the id
new { id = "1" }
The framework "translate" it in ?Lenght when there is a mismatch in the parameter/route
Don't put the @ before the id
new { id = "1" }
The framework "translate" it in ?Lenght when there is a mismatch in the parameter/route
The ID will work with @
sign in front also, but we have to add one parameter after that. that is null
look like:
@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)
On MVC 5 is quite similar
@Html.ActionLink("LinkText", "ActionName", new { id = "id" })
Don't put the @ before the id
new { id = "1" }
The framework "translate" it in ?Lenght when there is a mismatch in the parameter/route
In MVC 4 you can link from one view to another controller passing the Id or Primary Key via
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)
Source: Stackoverflow.com