2

我将 aTemplateField用于列,因为我需要HeaderTemplate. 但是,ItemTemplate将单元格的内容呈现为 an <asp:Label>,输出如下所示:

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

有什么方法可以使ItemTemplate单元格的内容只呈现出来,以便输出看起来像这样:

<td>data</td>

感谢您的任何建议。

4

1 回答 1

4

为简单起见,自动生成的内置模板将始终使用 a Label,因为它们假定您可能想要进行格式化。如果您只想获取基本的 HTML,请将其切换为使用 aLiteral而不是Label. A 的Literal行为与没有格式的 a 几乎相同,Label因此没有span标签。将您更改TemplateField为以下内容:

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

它将产生:

<td>Test</td>

您可以通过将Text值替换Eval("yourField")为控件或通过实现控件的 OnDataBinding 来执行所需的绑定,并随心所欲地对其进行操作。

于 2011-03-07T18:41:25.997 回答