将“GridView”的 ItemTemplate 输出简化为常规

发布于 2024-10-20 17:33:52 字数 393 浏览 1 评论 0原文

我对列使用 TemplateField,因为我需要 HeaderTemplate。但是,ItemTemplate 将单元格的内容呈现为 并且输出如下所示:

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

Is there any way to make the ItemTemplate 只需渲染单元格的内容,以便输出如下所示:

<td>data</td>

感谢您的任何建议。

I'm using a TemplateField for a column because I need the HeaderTemplate. However, the ItemTemplate renders the content of a cell as an <asp:Label> and the output looks like this:

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

Is there any way to make the ItemTemplate just render the content of the cell so that the output will look like this:

<td>data</td>

Thanks for any suggestions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

裂开嘴轻声笑有多痛 2024-10-27 17:33:52

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

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

它将产生:

<td>Test</td>

您可以通过将 Text 值替换为 Eval("yourField") 或通过为控件实现 OnDataBinding 并按照您喜欢的方式操作它。

The built in templates that are autogenerated will always use a Label for simplicity because they assume you might want to do formatting. If you want to just get basic HTML out switch it to use a Literal instead of a Label. A Literal acts almost the same as a Label with no formatting so there is no span tags. Change your TemplateField to the following:

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

It will produce:

<td>Test</td>

You can do the binding however you want by replacing the Text value with Eval("yourField") or by implementing the OnDataBinding for the control and manipulate it however you like.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文