Estoy usando ASP.Net MVC. Aquí están mis fragmentos de código de un curso llamado controlador:URL.Acción incluye id al construir URL
public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show", "Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrl recoge cualquiera que sea el valor del parámetro es "id". Entonces viewmodel.ShowUrl se convierte en "/ Course/Show/151" (el valor de id es 151); Quiero ser capaz de establecer la parte id en el cliente en función de la interacción del usuario. Quiero que el valor de viewmodel.ShowUrl sea "/ Curso/Mostrar".
Esto me parece un error. No le estoy diciendo a Url.Action que incluya un valor de identificación. Lo está haciendo solo. Si quiero establecer el valor id entonces me gustaría hacer algo como esto:
var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});
Así que, ¿Cómo se previene MVC de sumar el valor de ID? Puedo codificar viewmodel.ShowUrl en "/ Course/Show" pero parece ser una solución kludgy. Gracias.
no puedo remeber exactamente, pero el '' Routedata' es el ViewData' y por eso se aprobó. Creo que puedes hacer 'Url.Action (" Mostrar "," Curso ", nuevo {});' o vaciar el 'RouteData' en el objeto' ViewData'. –