gridview中的我的项目模板标记为这样。
我在哪里添加
tags?
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<% Eval("datacol") %>'
</asp:Label>
</ItemTemplate>
答案 0 :(得分:3)
我错过了什么吗?
为什么不尝试:
<ItemTemplate>
<pre><%# Eval("datacol") %></pre>
</ItemTemplate>
它将HTML保存在ASPX页面中,除非您特别需要标签标记。
答案 1 :(得分:0)
因为我发现这与您之前的问题有关:ASP.Net Binding to Gridview Strips some space (whitespace characters)
请参考我在这个问题上的答案。可以使用相同的原理在DataBound值周围添加任何类型的标记。对于这个具体问题,这样的方法可以实现你想要的。
protected void gbGridWithSpaces_RowDataBound(object sender, GridViewRowEventArgs e)
{
foreach (TableCell cell in e.Row.Cells)
{
cell.Text = "<pre>" + cell.Text + "</pre>";
}
}
答案 2 :(得分:0)
另一种方法是创建自己的自定义控件并放在那里
<ItemTemplate>
<cc1:MyCustomControl ID="MyCustomControl1" runat="server" Text='<% Eval("datacol") %>' />
</ItemTemplate>
真的,我不知道它是否更好,可能是有点贵,只为添加预标签创建一个类/用户控件,但我认为你的代码隐藏文件不那么突兀。