En ASP.NET MVC que tienen un controlador que se parece de alguna manera como esto:¿Es posible cambiar la URL al devolver la Vista al mismo tiempo? Eso es sin redirigir?
flujo de trabajopublic class MyController{
public ActionResult Index(){
return View(new MyModel());
}
[HttpPost]
public ActionResult Index(MyModel model){
//do something
return View("RegistrationConfirmation", new ConfirmModel());
}
[HttpPost]
public ActionResult RegistrationConfirmation(ConfirmModel model){
//do something else
return View();
}
}
del usuario que me gustaría tener está siguiendo
GET
índice de página. Devuelve la vistaIndex
. URL:~/My
POST
datos de la página de índice - devuelve la vistaRegistrationConfirmation
y envía al usuario a la página de la derecha~/My/RegistrationConfirmation
.- Usuario
POST
s otra información mientras que en la páginaRegistrationConfirmation
se llama aRegistrationConfirmation
para procesarlos.
Ahora mismo método de acción RegistrationConfirmation
nunca es llamado porque después de volver la vista por RegistrationConfirmation
Índice URL método de acción permanece ~/My
por lo que el segundo mensaje es procesado por el método de acción no Index(MyModel)
por RegistrationConfirmation(ConfirmModel)
método de acción.
¿Cómo puedo cambiar la URL junto con el envío de la Vista para que se llame a la acción del controlador que corresponde a la vista en POST
? ¿O hay alguna otra manera de garantizar que se llame al controlador correspondiente?
NOTA: He leído realmente más de 20 preguntas que parecían estar en tema antes de la publicación de éste. No creo que la respuesta perfecta a cualquiera de ellos me dará solución. Por favor, lea correctamente antes de votar para cerrar como duplicado.
Html.El método de acción debería darle la flexibilidad para el método de acción apropiado que desea invocar? –