Я храню 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