在vb.net中,我有一个DataTable,我正在添加内容。一列包含一个自由文本字段,因此我想在页面上将新行显示为新行。我这样做了:
For Each row As DataRow In dtEmails.Rows
Dim newBody As String = row.Item("body").ToString.Replace(vbCrLf, "<br>")
row.Item("body") = newBody
Next
但是细胞现在只显示像Line<br>Line
这样的文字HTML。我发现一个论坛帖子建议在字符串上调用Server.HtmlDecode
,但这不起作用。还有另一种方式吗?
答案 0 :(得分:1)
我找到了一个答案 - 在每一行绑定时调用Server.HtmlDecode
。
Protected Sub myGridView_RowDataBound(ByVal o As Object, ByVal e As GridViewRowEventArgs) Handles gvEmails.RowDataBound
Dim cell As String = e.Row.Cells(8).Text.Replace(vbCrLf, "<br>")
e.Row.Cells(8).Text = Server.HtmlDecode(cell)
End Sub
答案 1 :(得分:0)
我不是VB.net的人,但我听到HTMLAgilityPack有助于解决这类问题。