Действительно ли это возможно, из ASP.NET MVC, для маршрутизации к различным контроллерам или действиям на основе устройства/браузера доступа?
Я думаю об установке альтернативных действий и представлений для некоторых частей моего веб-сайта в случае, если к этому получают доступ от iPhone, для оптимизации дисплея и функциональности его. Я не хочу создавать абсолютно отдельный проект для iPhone, хотя, поскольку большинство сайта в порядке на любом устройстве.
Какая-либо идея о том, как сделать это?
Смесь: мобильные веб-сайты с ASP.NET MVC и файлом определения мобильного браузера
Не знаю, помогает ли вышеперечисленное, поскольку я еще не смотрел его.
И этот:
Как мне изменить представления ASP.NET MVC в зависимости от типа устройства?
Лучше всего использовать фильтр настраиваемых действий.
Все, что вам нужно сделать, это унаследовать от ActionMethodSelectorAttribute
и переопределить класс IsValidRequest
.
public class [IphoneRequest] : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
{
// return true/false if device is iphone
Затем в вашем контроллере
[IphoneRequest]
public ActionResult Index()