Каков наилучший способ сделать мобильную версию сайта в asp.net MVC2? - PullRequest
1 голос
/ 30 июня 2010

Я недавно думал об этом, и я не знаю действительно хорошего и аккуратного способа создания мобильной версии существующего или нового веб-сайта / приложения MVC2.

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

Какой хороший подход для этого? Есть ли способ довольно легко объединить темы в MVC2 ?

Ответы [ 2 ]

2 голосов
/ 30 июня 2010

Проверьте исходный код для NerdDrinner . Они реализовали класс MobileCapableWebFormViewEngine, который наследуется от базового класса WebFormViewEngine. MobileCapableWebFormViewEngine использует HTTPContext, чтобы решить, какое представление следует визуализировать в клиенте. Это будет иметь больше смысла, когда вы увидите исходный код

2 голосов
/ 30 июня 2010

Ну, MVC - это только ваша серверная технология, и вам следует спросить себя: «Как лучше всего создавать мобильный веб-сайт независимо от технологий на стороне сервера».

На мой взгляд, создание правильно сформированного и семантического (x) html - первый шаг. Как вы говорите, наиболее логичным является создание разных таблиц стилей для разных типов медиа, и вы правы.

Что касается упомянутых вами проблем, таких как встроенные изображения, подумайте: содержание или представление этих изображений?

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

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

...