asp.net mvc отображает коллекцию в таблице с заголовком - PullRequest
4 голосов
/ 03 июля 2010

Я только начал заниматься веб-разработкой, используя asp.net mvc2. Я пытаюсь найти способ отображения коллекции данных в моем представлении. Ниже приведена очень простая разметка представления для отображения коллекции в виде HTML-таблицы.

У меня вопрос: что обычно делают люди при создании таблицы из коллекции? Как обрабатывать заголовок столбца? У меня есть атрибут «DisplayName» для всех свойств объекта, и я хотел бы использовать их в качестве заголовков столбцов таблицы.

спасибо,

<table>
    <thead>
        <tr>
            <th>???</th>
            <th>???</th>
            <th>???</th>
            <th>???</th>
            <th>???</th>
        </tr>
    </thead>
    <tbody>
    <%
      foreach(var item in Model)
      {
    %>
        <tr>
            <td><%= Html.Encode(item.MyProp1)%></td>
            <td><%= Html.Encode(item.MyProp2)%></td>
            <td><%= Html.Encode(item.MyProp3)%></td>
            <td><%= Html.Encode(item.MyProp4)%></td>
            <td><%= Html.Encode(item.MyProp5)%></td>
        </tr>
    <%
      }
    %>
    </tbody>
</table>

и мой класс выглядит следующим образом

public class MyClass
{
    [DisplayName("Dif Prop 1")]
    [DataMember]
    public string MyProp1{ get; set; }

    [DisplayName("Dif Prop 2")]
    [DataMember]
    public string MyProp2{ get; set; }

    [DisplayName("Dif Prop 3")]
    [DataMember]
    public string MyProp3{ get; set; }

    [DisplayName("Dif Prop 4")]
    [DataMember]
    public string MyProp4{ get; set; }

    [DisplayName("Dif Prop 5")]
    [DataMember]
    public string MyProp5{ get; set; }
}

1 Ответ

0 голосов
/ 30 марта 2011

Вы можете использовать

<%: Html.LabelFor(x => x.MyProp1) %>

Для отображения отображаемого имени MyProp1 в теге метки и

<%: Html.DisplayFor(x => x.MyProp1) %>

Чтобы отобразить значение в соответствии с его шаблоном отображения (обычно обычный текст, если не указано иное)

Использование <%:%> также автоматически кодирует результирующую MvcString, в отличие от <% =%>, которая не кодирует ее содержимое. Однако это автоматическое кодирование ограничено средами .NET 4.0 и не будет работать в предыдущих версиях.

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