#asp.net #css #gridview #cross-browser
#asp.net #css #gridview #кроссбраузерный
Вопрос:
Я Asp.Net Разработчик уже 3 года. У меня были разные проекты, в которых мы использовали ASP.Net-GridView-Control.
Проблема в том, что у нас были действительно серьезные проблемы с проектированием GridView. Нам нужно около 2-10 часов на GridView только для простого дизайна. Это была такая боль, что вы не верили. (и да, мы действительно использовали CSS и так далее!). Даже после очень большой работы над GridViews он не выглядит одинаково в каждом браузере. В IE7 / 8 это выглядит по-прежнему иначе, чем в FF 3/4 или IE9.
Моему новейшему проекту нужен на 100% одинаковый пользовательский интерфейс в каждом браузере и ему нужен на 100% хороший дизайн и стиль. Таким образом, нет места для CSS и GridView-багов (я могу перечислить вам более 20 из них!) Или часов за часами для разработки простого GridView.
Итак, мой вопрос:
- Способен ли он обрабатывать различные просмотры в браузерах для GridView?
- Я что-то пропустил в стилизации GridView, что может вызвать мои неограниченные неудобства с GridViews?
- Есть ли другой простой и удобный элемент управления, который я могу привязать к ObjectDataSource и работать с ним, который имеет почти те же функции, что и GridView? (Пример: привязка ImageButtons к столбцу)
Комментарии:
1. Я не гуру CSS, поэтому даже не буду пытаться ответить на этот вопрос. Однако моя первая реакция на чтение этого заключается в том, что вы, должно быть, сумасшедший, если думаете, что можете ЛЕГКО заставить ЧТО УГОДНО отображаться на 100% одинаково в каждой версии каждого браузера.
2. @pseudocoder, хорошая мысль, и я бы добавил, что мы никогда не должны даже пытаться получить что-то одинаковое в каждом браузере 🙂
3. Я не согласен. Когда я пишу свой код по ошибке (например, Div-Contaier или таблица) Мне не понадобилось никаких временных затрат, чтобы мой дизайн выглядел одинаково во всех браузерах, потому что после почти 4-летнего опыта кроссбраузерного программирования я знаю почти все ошибки в CSS-стиле / дизайне и SCC-стиле / отличии в дизайне обычных браузеров, таких как IE 7/8/9, FF3 / 4, Opera9 / 10 / 11 и Safari.
4. @Kovu, вот мнение одного из самых одаренных профессионалов в этой области 24ways.org/2009/ignorance-is-bliss
5. Очень хорошая статья 🙂 Получите 1 за это 🙂 Но на самом деле, когда у клиента в списке наивысших приоритетов есть пункт «все браузеры должны выглядеть одинаково», вы не можете сказать «нет», потому что это клиент, верно? 🙂
Ответ №1:
Используйте ListView. Не имеет значения, используете ли вы CSS с GridView, потому что GridView все равно создаст макет на основе таблицы. Используя ItemTemplates с ListView , вы можете иметь полный контроль над разметкой, сгенерированной с помощью CSS. Конечно, табличные данные по-прежнему требуют использования таблиц…
http://msdn.microsoft.com/en-us/magazine/cc337898.aspx
После создания макета на основе CSS вы можете использовать проект HTML5Boilerplate для обеспечения кроссбраузерной совместимости способом «постепенного ухудшения»:
Ответ №2:
Нам нужно около 2-10 часов на GridView только для простого дизайна.
и
нужен на 100% одинаковый пользовательский интерфейс в каждом браузере и нужен на 100% хороший дизайн и стиль.
Судя по всему, вам нужно вместо этого приобрести сторонний набор инструментов, такой как DevExpress, Infragistics, Telerek или др. Эти компании уже выяснили, как решить эти проблемы. Стоимость может быть легко оправдана, исходя только из первой необходимости.
Итак, ответ таков: купите сторонний инструментарий.
Комментарии:
1. Спасибо, я посмотрю на это, возможно, вы правы 🙂