在GridView中将<pre></pre>标记添加到ItemTemplate

时间:2009-05-29 03:25:15

标签: asp.net html gridview tags

gridview中的我的项目模板标记为这样。

我在哪里添加

 tags? 

<ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<% Eval("datacol") %>' </asp:Label> </ItemTemplate>

3 个答案:

答案 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>

真的,我不知道它是否更好,可能是有点贵,只为添加预标签创建一个类/用户控件,但我认为你的代码隐藏文件不那么突兀。