У меня небольшие проблемы с изображением вашей установки. Я думаю, у вас есть текущая настройка:
Контроллеры
- 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");
}