0
我將HTML存儲在數據庫中,並嘗試使用文字控件在頁面上呈現它。問題在於文字不會呈現代碼,而只是在網頁上顯示標記。我已經檢查過HTML,它直接添加到頁面時工作正常,但在設置爲文本文本屬性時不起作用。不顯示呈現的HTML的文字控件
我已經做過這麼多次,在面對我已經重新使用的代碼,但由於某種原因只有標記顯示。
文字頁:
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentArea" Runat="Server">
<asp:Literal ID="Literal1" runat="server" Mode="PassThrough"></asp:Literal>
</asp:Content>
VB代碼:
Private Sub LoadContent()
Dim strConnectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim conn As SqlConnection = New SqlConnection
conn.ConnectionString = ConfigurationManager _
.ConnectionStrings("ConnectionString").ConnectionString
Dim cmd As SqlCommand = New SqlCommand
cmd.CommandText = ("select HTML from Pages where " & _
"PageName like @SearchText + '%'")
cmd.Parameters.AddWithValue("@SearchText", "TheShop")
cmd.Connection = conn
Dim sb As StringBuilder = New StringBuilder
conn.Open()
Dim sdr As SqlDataReader = cmd.ExecuteReader
While sdr.Read
sb.Append(sdr("HTML")) _
.Append(Environment.NewLine)
End While
conn.Close()
Literal1.Text = sb.ToString
End Sub
這是sb.ToString的內容之前,它被添加到文字:
<p><span style="color:#FF0000">revergveraer</span></p>
<p><span style="color:#FF0000"><img alt="" src="http://pngimg.com/upload/fish_PNG1156.png" style="height:133px; width:200px" />rgergerg</span></p>
這是輸出的HTML並按文字顯示標記:
<p><span style="color:#FF0000">revergveraer</span></p> <p><span style="color:#FF0000"><img alt="" src="http://pngimg.com/upload/fish_PNG1156.png" style="height:133px; width:200px" />rgergerg</span></p>
我無法重現,我看魚。你是從數據庫還是從顯示的網頁上獲取最後一個片段?你可以發佈數據庫中的確切值還是放入斷點併發布SB.ToString的值?有可能是我們看不到的字符導致您的問題。 – Steve
@Steve我添加了sb.tostring的內容。文字似乎將其轉換爲正確的HTML,但不會呈現它,它只是顯示網頁中的代碼。我也嘗試了使用面板的類似方法,在其上添加標籤併產生相同的結果。 – connersz