1

在 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

但现在单元格只显示文字 HTML,如Line<br>Line. 我发现一个论坛帖子建议调用Server.HtmlDecode字符串,但这不起作用。还有其他方法吗?

4

3 回答 3

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
于 2013-01-16T10:19:48.027 回答
0

我不是 VB.net 人,但我听说HTMLAgilityPack有助于解决此类问题。

于 2013-01-15T17:59:17.227 回答
0

...您的论点是错误的方法-试试这个:

Dim newBody As String = row.Item("body").ToString.Replace("<br>", vbCrLf)

希望能解决问题

于 2013-01-15T18:59:13.557 回答