Если постановка задачи в MVC View - PullRequest
1 голос
/ 30 августа 2011

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

<fieldset>

    <legend>Department Membership</legend>
<% if(Model.departmentsDisplayCheck) {%>
<table>
    <tr>         
        <th>Name</th>
        <th>Type</th>
        <th>Age</th>
        <th>Gender</th>
        <th>Status</th>
    </tr>

<% foreach (var dep in Model.departmentsList){ %>

    <tr>
        <td><%: Html.ActionLink(dep.Name, "Details", "Department", new { id=dep.DepartmentID}, null) %></td>
        <td><%: dep.Type %></td>
        <td><%: dep.Age %></td>
        <td><%: dep.Gender.ToString() %></td>
        <td><%: dep.Status %></td>
    </tr>
<% } %>
<% } %>
<% else { %>
<p><%: "You are not currently a member of any Department." %></p>
<% } %>
</table>

</fieldset>

Ответы [ 3 ]

3 голосов
/ 30 августа 2011

Во-первых, эти виды проверок не относятся к представлению. Вместо этого у вас должно быть свойство на контроллере, которое называется что-то вроде DisplayDepartmentList, а затем установите его, используя ваши проверки (и любую другую бизнес-логику, которая может возникнуть) там.

Тогда вместо этого вы делаете эту проверку ..

<% if(Model.DisplayDepartmentList) 
2 голосов
/ 30 августа 2011
<% if(Model.departmentsList != null && Model.departmentsList.Count > 0) {%>
1 голос
/ 30 августа 2011

Вы уверены, что модель нулевая, а не просто пустая? Если он вернется пустым, вы получите наблюдаемое поведение.

Попробуйте изменить его на

<% if(Model.departmentsList != null || Model.departmentList.Count == 0) {%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...