Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
1

Как из контроллера вернуться на ту же вьюху?

23.05.2011, 14:26. Показов 4307. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,
Есть вьюха, которая рендерит action так:
C#
1
@Html.RenderAction("MyMethod", "MyController")
Этот action в свою очередь рендерит какую-то подвьюху, которая у меня по сути представляет собой контрол, который может быть переиспользован из разных страниц.
В этой подвьюхи есть метод, который должен вернуть управление в итоге на ту вьюху, в которой находится эта подвьюха. Как это сделать?
Метод подвьюхи может выглядеть так:
C#
1
2
3
4
5
6
[HttpPost]
public ActionResult DoSomething(MyData data) {
      // обработать data
      ViewData["MyData"] = data;
      return View();  // ???? ЧТО здесь надо вернуть, чтобы оказаться на той вьюхе, в которой расположена эта подвьюха
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2011, 14:26
Ответы с готовыми решениями:

Передача данных из контроллера во вьюху через Ajax
Здравствуйте. у меня такой вопрос: есть БД, которая подключена к проекту через Entity Framework....

Как свернуть вьюху?
Значит так: есть вьюха: Колонка 1 - категория (потом используется для show single cathegory в...

Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера
Я делаю в одном из методов RedirectToAction() , в результате чего, перед перенаправлением...

Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера
Есть строго типизированное представление в контроллере Main, в методе ListOrders. Как в него можно...

12
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
24.05.2011, 00:10 2
debugx, как то вы неправильно понимаете подход MVC - что такое "вернуть управление" вообще?! вид не может владеть "управлением", это только разметка
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
24.05.2011, 09:56  [ТС] 3
Цитата Сообщение от Alligieri Посмотреть сообщение
debugx, как то вы неправильно понимаете подход MVC - что такое "вернуть управление" вообще?! вид не может владеть "управлением", это только разметка
Хорошо, переформулирую вопрос, как из метода контроллера вернуться на родительскую вьюху, или хотя бы узнать ее имя?
0
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
25.05.2011, 01:46 4
Цитата Сообщение от debugx Посмотреть сообщение
вернуться на родительскую вьюху
это означает - "визуализировать родительськую вюху" или что?
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
25.05.2011, 09:09  [ТС] 5
Цитата Сообщение от Alligieri Посмотреть сообщение
это означает - "визуализировать родительськую вюху" или что?
да, визуализировать. Причем нигде в контроллере не должно быть зашито ее название.
0
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
25.05.2011, 14:06 6
debugx, можно передавать имя контроллера и екшена родительской вьюхи в экшен виджета (дочерней вьюхи)
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
26.05.2011, 11:07  [ТС] 7
Цитата Сообщение от Alligieri Посмотреть сообщение
debugx, можно передавать имя контроллера и екшена родительской вьюхи в экшен виджета (дочерней вьюхи)
ну передам я ее, а как ее визуализировать то?
Допустим есть простой проект: http://imagepost.ru/images/u/nt/untitled_90.jpg
Как мне из контроллера "FiltersController" визуализировать вьюху Products.
Если просто написать return View("Products", model);

то появляется ошибка:
The view 'Products' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Filters/Products.aspx
~/Views/Filters/Products.ascx
~/Views/Shared/Products.aspx
~/Views/Shared/Products.ascx
~/Views/Filters/Products.cshtml
~/Views/Filters/Products.vbhtml
~/Views/Shared/Products.cshtml
~/Views/Shared/Products.vbhtml

Так как на самом деле вьюха Products лежит здесь:
~/Views/Products/Products.cshtml

Добавлено через 18 часов 23 минуты
0
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
26.05.2011, 13:36 8
C#
1
return RedirectToAction("Product", "Product", model);
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
26.05.2011, 15:12  [ТС] 9
Цитата Сообщение от kenny69 Посмотреть сообщение
C#
1
return RedirectToAction("Product", "Product", model);
модель нельзя передавать в RedirectToAction
0
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
26.05.2011, 15:37 10
Код
return RedirectToAction("Product", "Product", new{ anyModel = model });
передавай какие-то параметры через RedirectToAction, а в том aсtion, в который переходишь, уже подготавливай model для вывода.
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 10
27.05.2011, 09:19  [ТС] 11
Цитата Сообщение от kenny69 Посмотреть сообщение
Код
return RedirectToAction("Product", "Product", new{ anyModel = model });
передавай какие-то параметры через RedirectToAction, а в том aсtion, в который переходишь, уже подготавливай model для вывода.
да нельзя сложный объект передать в RedirectToAction
пробовал через viewdata, но почему то после редиректа viewdata уже не виден
остается только наверное в базе сохранить данные, которые я хочу передать через редирект, и передавать по сути только ID
0
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
27.05.2011, 16:41 12
я и имел ввиду, что надо передать только id, видимо не совсем корректное имя для параметра выбрал. Либо, сложный объект по полям передавать, но это далеко не лучший вариант
0
19 / 19 / 3
Регистрация: 05.07.2011
Сообщений: 41
06.07.2011, 15:59 13
C#
1
return View("~/Views/Products/Products.cshtml", model);
наслаждайся
0
06.07.2011, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2011, 15:59
Помогаю со студенческими работами здесь

Как преобразовать DateTime при передаче из модели во вьюху?
Здравствуйте! Есть модель такого плана: m1 public DateTime DateTime { get; set; } public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru