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