Условия в представлениях - PullRequest
0 голосов
/ 02 апреля 2009

Я довольно новичок в ASP MVC и мне было интересно, как лучше всего обрабатывать условные выражения в ваших представлениях? Я уверен, что не существует единого подхода, подходящего для всех, но для простых проверок целесообразно, чтобы операторы If-Then-Else засоряли представление?

Например, скажем, у меня есть список и я хочу установить класс для одного из элементов списка, если установлено одно из свойств модели.

<% if (myModel.MyProperty == 1) { %>
   <li class="myClass">
<% } else { %>
   <li>
<% } %>

Это лучший способ подойти к этому или есть лучший способ? Я просто обеспокоен тем, что если у вас появятся многочисленные подобные условия, это начнет выглядеть довольно грязно.

Заранее спасибо за любые советы.

Ответы [ 3 ]

1 голос
/ 03 апреля 2009

Если вы действительно хотите более чистый вид, вы можете создать помощника:

public static class MyHelpers {
    // Need a more descriptive name (based on what you're generating)
    public static string MyListItemHelper(this HtmlHelper helper, bool condition) {
        if(condition) {
            return "<li class=\"myClass\">";
        } else {
            return "<li>";
        }
    }
}

Тогда ваш взгляд просто:

<%= Html.MyListItemHelper(myModel.MyProperty == 1) %>
    ...
</li>
0 голосов
/ 02 апреля 2009
<ul>
    <% foreach (var item in Model.Items) { <%
    <li<%= item.HasProperty ? " class="\class\"" : "" %>>
        <%= Html.Encode(item.Name) %>
    </li>
    <% } %>
</ul>
0 голосов
/ 02 апреля 2009

Я бы положил это в ваш контроллер. Предполагая, что вы не против иметь

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