将“GridView”的 ItemTemplate 输出简化为常规
我对列使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了简单起见,自动生成的内置模板将始终使用
Label
,因为它们假设您可能想要进行格式化。如果您只想获取基本的 HTML,请将其切换为使用Literal
而不是Label
。Literal
的作用几乎与Label
相同,没有格式,因此没有span
标签。将您的TemplateField
更改为以下内容:它将产生:
您可以通过将
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 aLiteral
instead of aLabel
. ALiteral
acts almost the same as aLabel
with no formatting so there is nospan
tags. Change yourTemplateField
to the following:It will produce:
You can do the binding however you want by replacing the
Text
value withEval("yourField")
or by implementing the OnDataBinding for the control and manipulate it however you like.