2010-05-23 5 views
0

вставить в ASP.NET MVC просмотров C# логики, которая управляет раскладку вроде следующего:MVC Html Layout C# код форматирования

<% if (Model.People.Count > 0) { %> 
    <% foreach (var person in Model.People) { %>  
     ... 
<% }} else { %> 
    <span class="error">Sorry, no people</span> 
<%} %> 

Я стараюсь минимизировать <% размещения%> код "{" символ на том же строка как условие (java-style). После этого макет Html выглядит более понятным.

Вы применяете правила форматирования C# к <%%> инъекции html "}" должно быть на новой строке или управлять макетом по-разному?

Спасибо заранее!

+0

Каков фактический вопрос здесь? –

+0

Как вы минимизируете сложность инъекций кода html C#. –

ответ

0

Его полностью зависит от вас, что бы вы ни находили, более читабельны и обслуживаемы.

Чем меньше встроенных серверных блоков, тем лучше (с точки зрения предотвращения ошибок компиляции кода во время выполнения).

+0

Думаю, что так. Но часто html-макет смешивается с введенным кодом, когда я применяю классы css к элементам или когда мне приходится показывать/скрывать некоторые блоки, зависящие от атрибутов сущности или размеров коллекции. Как вы поддерживаете эту ситуацию? –

+0

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

+0

Я пришел из мира asp.net web.forms с ContentPlaceHolder Visible Да/Нет html макетный подход :) Я возьму сбалансированный подход, выбрав разные взгляды и условные представления. Спасибо –

Смежные вопросы