如何在详细信息视图中进行html解码?

时间:2012-04-26 21:58:02

标签: c# tinymce detailsview html-encode

<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 个答案:

答案 0 :(得分:5)

我认为您不能将HtmlDecodeBind一起使用。

所以要么尝试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>

两者都没有测试过。