Можно ли отобразить вид с другого контроллера?
Скажем, например, у меня есть CategoriesController
и Category/NotFound.aspx
мнение. Находясь в CategoriesController
, я могу легко вернуться View("NotFound")
.
Теперь скажите, что у меня есть ProductsController
и действие, и вид, чтобы добавить товар. Тем не менее, это действие требует, чтобы у нас была Категория для добавления Продукта. Например, Products/Add/?catid=10
.
Если я не могу найти категорию на основе catid
, я хочу показать NotFound
представление из контроллера категорий вместо создания CategoryNotFound
представления под контроллером продуктов.
Возможно ли это или я неправильно структурирую вещи? Есть ли хороший способ сделать это?
new ViewResult { ViewName = "~/Views/Error/Unauthorised.cshtml" };
и это сработалоТы можешь использовать:
Он был протестирован в ASP.NET MVC 3, но также должен работать в ASP.NET MVC 2.
источник
"~/Views/Category/NotFound.cshtml"
.Да, это возможно. Вернуть
RedirectToAction()
метод, подобный этому:источник
Ты пробовал
RedirectToAction
?источник
Да, ты можешь. Верните действие как это:
Пример:
Этот подход вызовет метод GET
Также вы можете передать значения действию следующим образом:
источник
Вы также можете вызвать любой контроллер из JavaScript / jQuery . Скажем, у вас есть контроллер, возвращающий 404, или другой пользовательский элемент управления / страницу. Затем, по какому-либо действию, из вашего клиентского кода вы можете вызвать некоторый адрес, который запустит ваш контроллер и вернуть результат в формате HTML , ваш клиентский код может взять этот возвращенный результат и поместить его туда, куда вы хотите, на свою страницу ...
источник
С помощью этого кода вы можете получить любой контроллер:
источник