¿Es posible mostrar una vista desde otro controlador?
Digamos, por ejemplo, que tengo una CategoriesControllery una Category/NotFound.aspxvista. Mientras CategoriesControllerestoy en el , puedo regresar fácilmente View("NotFound").
Ahora digamos que tengo una ProductsControllery una acción y vista para agregar un producto. Sin embargo, esta acción requiere que tengamos una Categoría para agregar el Producto. Por ejemplo, Products/Add/?catid=10.
Si no puedo encontrar la Categoría basada en catid, quiero mostrar la NotFoundvista desde el controlador de Categorías en lugar de crear una CategoryNotFoundvista bajo el controlador de Productos.
¿Es esto posible o estoy estructurando las cosas de manera incorrecta? ¿Existe una forma correcta de hacer esto?

new ViewResult { ViewName = "~/Views/Error/Unauthorised.cshtml" };y funcionóPuedes usar:
Fue probado en ASP.NET MVC 3, pero también debería funcionar en ASP.NET MVC 2.
fuente
"~/Views/Category/NotFound.cshtml".Si es posible. Devuelve un
RedirectToAction()método como este:fuente
¿Lo has intentado
RedirectToAction?fuente
Sí tu puedes. Devuelve una acción como esta:
Un ejemplo:
Este enfoque llamará al método GET
También podría pasar valores a acciones como esta:
fuente
También puede llamar a cualquier controlador desde JavaScript / jQuery . Supongamos que tiene un controlador que devuelve 404 o algún otro control / página de usuario. Luego, en alguna acción, desde su código de cliente, puede llamar a una dirección que activará su controlador y devolverá el resultado en formato HTML , su código de cliente puede tomar este resultado devuelto y colocarlo donde desee en su página ...
fuente
Con este código puede obtener cualquier controlador:
fuente