Как HTML декодировать в подробном представлении?
<asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="SqlDataSource1" AutoGenerateRows="False"
DataKeyNames="ID" DefaultMode="Insert" >
...
<asp:TextBox ID="ShortExcerptTextBox" runat="server"
Text='<%#Bind("ShortExcerpt") %>' class="mceEditor"
TextMode="MultiLine"></asp:TextBox>
это код, который у меня есть.
проблема в том, что мне нужно как-то HttpUtility.HtmlDecode
это там в #Bind("ShortExcerpt")
как-то, но не знаю как.
оригинальная проблема заключается в том, что tinyMCE (текстовый редактор) кодирует текст сам по себе, но не декодирует его при чтении. долгая история:P
так что, пожалуйста, просто, кто-нибудь, объясните, как HttpUtility.HtmlDecode
текст, который читается в #Bind("ShortExcerpt")
пожалуйста?
Thnx
1 ответ
Решение
Я не думаю, что вы можете использовать HtmlDecode
с Bind
,
Так что либо попробуйте HtmlDecode
TextBox в коде позади:
<asp:TextBox ID="ShortExcerptTextBox" runat="server"
Text='<%# Eval("ShortExcerpt") %>'
OnDataBinding="ShortExcerptTextBox_DataBinding" class="mceEditor"
TextMode="MultiLine">
</asp:TextBox>
protected void ShortExcerptTextBox_DataBinding(object sender, EventArgs e)
{
var txt = (TextBox)sender;
txt.Text = HttpUtility.HtmlDecode(txt.Text);
}
или попробуйте использовать Eval
вместо этого (если это приемлемо):
<asp:TextBox ID="ShortExcerptTextBox" runat="server"
Text='<%# HttpContext.Current.Server.HtmlDecode((string)Eval("ShortExcerpt")) %>'
class="mceEditor"
TextMode="MultiLine">
</asp:TextBox>
Оба еще не проверены.