мобильные технологии asp.net - PullRequest
3 голосов
/ 17 августа 2010

Каковы ваши приемы использования мобильного с asp.net, я знаю, как обнаружить мобильный телефон, но я в тупике, пытаясь найти хороший способ показывать свои страницы на мобильном устройстве.

Ядумая только о том, чтобы сделать Multi-View и показать мобильное представление, когда они мобильны, однако это не будет работать с нашей главной страницей, если я не сделаю то же самое, я бы предпочел просто перенаправить страницу на мобильную версию.

Но я бы хотел, чтобы это происходило автоматически, я не хочу добавлять код на каждую страницу, я использовал HttpModule, но он заставляет его использовать каждый объект на веб-сайте.страницы aspx, поэтому я просто использовал пользовательский элемент управления, который он поместил в верхнюю часть главной страницы.

Я также добавил папку с именем mobile в дерево, которая содержит папки для каждого мобильного устройства, поэтому, если они перейдут в ~/Account/Login.aspx перенаправляет на ~ / Account / Mobile / IPhone / Login.aspx, но мне пришлось исключить главную страницу в мобильном устройстве, или она будет в бесконечном цикле:)

Мне нравитсяMVC делает это там, где у них есть собственный ViewEngine, который просто перенаправляет, но я не могу перейти на MVC из-за некоторых элементов управления ASP.NET, которые требуются моей компании.

Идеи?

1 Ответ

1 голос
/ 20 августа 2010

Это очень сильно зависит от конкретного сайта и того, что побудило вас подумать о наличии мобильной версии сайта. Какой объем контента у вас не подходит для мобильных браузеров (например, Flash, AJAX)? Насколько сложны упомянутые вами пользовательские элементы управления?

Лично я считаю, что лучше всего постараться, чтобы ваш основной сайт был совместимым с людьми, просматривающими более свежие смартфоны (например, iphone, Android), поскольку они становятся очень популярными и все более функциональными. Эти телефоны имеют браузеры, которые обычно основаны на WebKit, поэтому тестирование в Chrome или Safari даст хотя бы некоторое представление о том, насколько хорошо будет работать ваша страница.

При необходимости вы можете использовать несколько разные таблицы стилей для настольных и мобильных устройств. Вы делаете страницу более доступной, скрывая неважное содержимое и упрощая навигацию.

ASP .NET на самом деле имеет сложную встроенную систему фильтрации устройств, так что вы можете изменять части страницы, даже основную страницу, в зависимости от текущего браузера. Смотрите здесь: http://ryanfarley.com/blog/archive/2008/08/14/more-on-device-filtering-with-asp.net-server-control-properties.aspx. Вам просто нужно убедиться, что определения вашего браузера актуальны.

Избегайте сложных элементов управления ASP .NET, таких как GridViews, поскольку у вас меньше контроля над HTML и CSS. Элементы управления, такие как ListView, гораздо более гибкие.

Некоторые функции, такие как AJAX, могут быть с ошибками на некоторых устройствах, особенно если вы используете AJAX UpdatePanels. Вы можете использовать эмулятор для тестирования этих сценариев. В качестве альтернативы вы можете отключить эти функции на мобильных устройствах. Это предполагает, что вы даже используете их.

Для размещения бюджетных устройств у вас может быть отдельный мобильный сайт, который работает параллельно. Для создания мобильных страниц вы наследуете System.Web.UI.MobileControls.MobilePage вместо обычного класса Page. В W3Schools есть некоторая полезная информация: http://www.w3schools.com/dotnetmobile/control_mobilepage.asp. Обратите внимание, что мобильные веб-формы теперь устарели, хотя и не рассматриваются как дальнейшие действия.

Если вы собираетесь запускать два или более сайтов параллельно и у вас есть сложная логика, необходимая обоим, тогда вы можете создать библиотеку классов для хранения общих функций. Это исключило бы дублирование кода.

Чтобы избежать бесконечного цикла при перенаправлении на мобильную версию, просто проверьте текущий URL, чтобы увидеть, содержит ли он базовый URL для мобильного сайта. Возможно, было бы проще всего выполнить перенаправление на главной странице, но при каждой ссылке на каждую страницу была бы ссылка на мобильную версию.

В целом, это очень сложный предмет, поэтому, возможно, стоит подумать о том, чтобы найти подходящую книгу.

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