C#MVC:网格中的可选列(foreach)

Ale*_*lex 2 c# asp.net-mvc

我有这样的代码:

<% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.Encode(item.Title) %>
        </td>
        <td>
            <%= Html.Encode(item.Capacity) %>
        </td>
        <td>
            <%= Html.Encode(item.Count) %>
        </td>
    </tr>

<% } %>
Run Code Online (Sandbox Code Playgroud)

我的问题:根据用户设置,可以将这些列的任何组合(标题,容量和/或计数)设置为不显示.

我如何在我的代码中创建这个条件?

BFr*_*ree 5

在控制器端,您可以将设置存储在ViewData中:

base.ViewData["TitleVisible"] = false;
Run Code Online (Sandbox Code Playgroud)

......在视图中:

<% foreach (var item in Model) { %>

<tr>
    <% if ((bool)ViewData["TitleVisible"]){ %>
    <td>
        <%= Html.Encode(item.Title) %>
    </td>
    <%}%>
    <td>
        <%= Html.Encode(item.Capacity) %>
    </td>
    <td>
        <%= Html.Encode(item.Count) %>
    </td>
</tr>

<% } %>
Run Code Online (Sandbox Code Playgroud)