net mvc ejemplo curso asp c# asp.net-mvc

c# - ejemplo - ASP.NET MVC pasando una identificación en un ActionLink al controlador



mvc c# (5)

En MVC 4 puede vincular de una vista a otra controladora pasando la Id o la clave principal a través de

@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)

No puedo ver para recuperar una ID que estoy enviando en html.ActionLink en mi controlador, esto es lo que estoy tratando de hacer

<li> <%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li> public ActionResult Modify(string ID) { ViewData["Title"] =ID; return View(); }

Eso es lo que recomendó un tutorial que seguí, pero no está funcionando, ¡también lo está poniendo! Length = 5 al final de la URL.

¡Gracias por adelantado!

editar: aquí está la ruta que estoy usando, es por defecto

routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults );

¡parece que alguien ha votado negativamente las dos sugerencias a continuación pero no ha publicado su solución!


En MVC 5 es bastante similar

@Html.ActionLink("LinkText", "ActionName", new { id = "id" })


La ID también funcionará con @ sign in front, pero tenemos que agregar un parámetro después de eso. eso es null

parece:

@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)


No coloque el @ antes de la identificación

new { id = "1" }

El marco "lo traduce" en "Longitud" cuando hay una falta de coincidencia en el parámetro / ruta


No parece que estés usando la sobrecarga correcta de ActionLink. Prueba esto:-

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

Esto supone que su vista se encuentra debajo de la carpeta / Views / Villa. Si no, entonces sospecho que necesita:

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