Изменить вид в MVC - PullRequest
       3

Изменить вид в MVC

0 голосов
/ 31 октября 2011

Я новичок в MVC.

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

сейчас у меня есть два контроллера, но я хочу использовать только один контроллер (HomeController.cs) для обоих представлений.Я знаю это, у меня должны быть мобильные представления в разделе «Домой».Пожалуйста, помогите мне перенаправить на мобильный вид, используя только один контроллер.

Я сейчас использую ниже для перенаправления (с двумя контроллерами):

return RedirectToAction ("Index", "Mobile");

Я использую фреймворк 3.5 и MVC 2

Ответы [ 3 ]

3 голосов
/ 31 октября 2011

У меня небольшие проблемы с изображением вашей установки. Я думаю, у вас есть текущая настройка:

Контроллеры
- HomeController.cs
- MobileController.cs
Просмотров
- Главная
--Index.aspx
- Мобильный
--Index.aspx

Но вы хотите:
Контроллеры
- HomeController.cs
Просмотров
- Главная
--Index.aspx
- Мобильный
--Index.aspx

Это правильно?

Обновление:

Как упоминалось ниже, это одна из тех сделок, которые «вот как работает MVC». «Дом» - это место, куда вы можете перейти, но «Мобильный» - это тип страницы. Если вы добавите еще одну область под названием «About» в качестве новой подпапки Views, куда вы поместите свою мобильную папку? С чем теперь должен работать мобильный телефон? Если мобильный не должен реплицировать обычный сайт, то у него должен быть свой собственный контроллер, даже если он реплицирует некоторый код (не забывайте, что вы можете создавать классы вне контроллеров, которые могут выполнять основную работу, которую может вызвать любой контроллер ).

С другой стороны, если вам нужна мобильная версия каждой из ваших страниц, вы должны добавить их в папку представлений для каждого маршрута. Например:

Контроллеры
- HomeController.cs
Просмотров
- Главная
- Мобильный
- Index.aspx
--Index.aspx

Я не совсем уверен, где вы выполняете логику, чтобы выяснить, находятся ли они на мобильной платформе, но предполагая, что пока это находится в контроллере где-то в вашем HomeController.cs, у вас тогда есть:

public ActionResult Index() { 
if([check for mobile])
{
return View("Mobile/Index");
} else {
return View("Index"); 
}
3 голосов
/ 31 октября 2011

Добавить Mobile View Engine .

0 голосов
/ 15 декабря 2016

Домашний контроллер создать в действие, как

Public ActionResult Index () {

}

And Another Action (Мобильный)

Public ActionResult Mobile () {

}

Один контроллер имеет множество действий (просмотр)

Контроллеры - HomeController.cs Просмотры - Главная --Index.chtml - мобильный --Index.chtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...