1

vb.netには、コンテンツを追加するDataTableがあります。1つの列にフリーテキストフィールドが含まれているので、新しい行をページ上の新しい行として表示したいと思います。これは私がしました:

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 に答える