asp.net mvc просмотр кода - PullRequest
       11

asp.net mvc просмотр кода

1 голос
/ 21 февраля 2009

Я динамически генерирую таблицу для представления некоторых табличных данных. Обычно я бы не подходил к таблицам, но для такого рода данных это уместно.

Я заметил, что мой код представления очень похож на спагетти. Назначение классов для ячеек и строк в теле циклов начинает выглядеть просто ужасно (плохие воспоминания для моего осла 3.0 дня).

Я рассмотрел использование сериализации во время выполнения для json для моих DTO, а затем с помощью плагина JQuery для шаблонной визуализации JSON. Это кажется «крутой» идеей, но это больше упражнение по программированию, чем я сейчас хочу.

Как люди создают более сложные пользовательские интерфейсы с помощью asp.net mvc?

Ответы [ 2 ]

1 голос
/ 21 февраля 2009

Если вы обеспокоены тем, как выглядит ваша разметка, смешанная с кодом, вы можете попробовать альтернативный механизм просмотра:

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

0 голосов
/ 21 февраля 2009

Я написал несколько расширений HtmlHelper, чтобы помочь с созданием таблиц. Эти расширения используют TagBuilder в коде для генерации строк в соответствии со значениями и определенными атрибутами HTMl. При использовании этих методов расширения код представления значительно чище, а сами методы расширения тестируются, чтобы гарантировать, что они надежно генерируют чистый код.

Пример кода:

<% var alternating = false;
   foreach (var model in Model) { %>
   <% using (Html.BeginTableRow( new { @class = alternating ? "alternating-row" : "" } )) { %>
       <%= Html.TableElement( model.Column1 ) %>
       <%= Html.TableElement( model.Column2, new { @class = 'some-class' } ); %>
       <%= Html.TableElement( model.Column3 ) %>
   <% }
      alternating = !alternating;
    %>
<% } %>

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

 <% Html.RenderPartial( "GridControl", Model, ViewData ); %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...