Tablet Tablet - 1 month ago 8x
C# Question

ASP.NET MVC passing an ID in an ActionLink to the controller

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

<%= 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

"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!


Doesn't look like you are using the correct overload of ActionLink. Try this:-

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

This assumes your view is under the /Views/Villa folder. If not then I suspect you need:-

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