让 GridView 中的 TemplateField 执行 Server.HTML-1

作者:vkvi 来源:ITPOW(原创) 日期:2009-12-4
<asp:TemplateField HeaderText="公司名称">
    <ItemTemplate>
        <%# Eval("CompanyName") %>
    </ItemTemplate>
</asp:TemplateField>

如上代码,似乎没啥问题,但是如果公司名称中含有 HTML 标签,比如公司名称就是:“<b>b</b>”,那么列表显示出来,就是一个粗体的 b。

我们不希望这样,我们希望显示出来就是:<b>b</b>。

于是我们得利用 Literal,得这样做:

<asp:TemplateField HeaderText="公司名称">
    <ItemTemplate>
        <asp:Literal runat="server" Text='<%# Eval("CompanyName") %>' Mode="Encode"></asp:Literal>
    </ItemTemplate>
</asp:TemplateField>

输出 HTML 代码为:

&lt;b&gt;b&lt;/b&gt;

用户看到的就是:<b>b</b>

相关阅读

相关文章