Как 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>

Оба еще не проверены.

Другие вопросы по тегам