【问题标题】:How to encode html data in asp / vb.net boundcolumn datagrid?如何在asp / vb.net boundcolumn datagrid中编码html数据?
【发布时间】:2014-07-07 14:44:38
【问题描述】:

我在数据库中有一些数据,我将其绑定到绑定列。 数据包含许多 html 标签。 但我想将其显示为仅文本“不渲染它”

我不确定,因为 HTMLENCODE 属性不适用于 boundcolumn。 请帮忙。

另外补充一点,我有多个与bind() 函数绑定的数据网格,并且正在使用一个事件处理程序 Itemdatabound。

<asp:boundcolumn datafield="content" readonly="True" headertext="Product ID ">
<headerstyle horizontalalign="Center" width="100px"></headerstyle>
<itemstyle horizontalalign="Left" width="100px"></itemstyle>
</asp:boundcolumn>

【问题讨论】:

  • 什么意思,不工作?我看到MS在哪里说它可以与boundfield一起使用?你可以切换吗? msdn.microsoft.com/en-us/library/…
  • 那么我必须将 boundcolumn 设置为 boundfield 吗?这是否与 >> 后面的代码有任何冲突??
  • 如果没有看到代码隐藏,我无法回答这个问题。我猜想应该做些改变。
  • 我不能对 boundcolumn 做任何事情???任何带有 htmlencoding 的额外代码我都可以在 >?? 后面的代码中编写
  • 是的,没错。你可以看看大卫的解决方案,或者我的,供参考。

标签: c# html vb.net datagrid html-encode


【解决方案1】:

Prevent HTML encoding in auto-generated GridView columns

从上述链接中提取可能的解决方案:

<asp:TemplateField HeaderText="myLink" SortExpression="myLink">
    <ItemTemplate>
        <asp:Literal ID="litHyperLink" runat="server" Text='<%# Bind("myLink", "{0}") %>' />
    </ItemTemplate>
</asp:TemplateField>

或者绑定你自己的列,也显示在上面的链接中

【讨论】:

    【解决方案2】:

    Server.HtmlDecode()

    这将允许您打印标签而不将它们呈现为 html。

    http://msdn.microsoft.com/en-us/library/hwzhtkke(v=vs.110).aspx

    【讨论】:

    • 如何与boundcolumn datagrid一起使用??
    • 请回答?它可以帮助其他人遵循您的解决方案。
    猜你喜欢
    • 2014-07-26
    • 2010-10-18
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 2011-01-06
    相关资源
    最近更新 更多