Упрощение вывода ItemTemplate `GridView` до обычного <td> - PullRequest
2 голосов
/ 07 марта 2011

Я использую TemplateField для столбца, потому что мне нужен HeaderTemplate.Тем не менее, ItemTemplate отображает содержимое ячейки как <asp:Label> и вывод выглядит следующим образом:

<td><span>data</span></td>

Есть ли способ заставить ItemTemplate просто визуализировать содержимое ячейкитак что вывод будет выглядеть так:

<td>data</td>

Спасибо за любые предложения.

1 Ответ

4 голосов
/ 07 марта 2011

Встроенные шаблоны, которые генерируются автоматически, всегда будут использовать Label для простоты, потому что они предполагают, что вы, возможно, захотите сделать форматирование.Если вы хотите просто получить базовый HTML-код, переключите его на Literal вместо Label.Literal действует почти так же, как Label без форматирования, поэтому нет тегов span.Измените TemplateField на следующее:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Literal ID="ltTestItem" runat="server" Text="Test" />
    </ItemTemplate>
</asp:TemplateField>

Будет выдано:

<td>Test</td>

Вы можете выполнить привязку так, как хотите, заменив значение Text на Eval("yourField")или реализуя OnDataBinding для элемента управления и манипулируя им так, как вам нравится.

...