<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中找到它,但不知道如何。

最初的问题是tinyMCE(富文本编辑器)会自行对文本进行编码,但不会在读取时对其进行解码。长话说:P

因此,请有人解释一下,如何将#Bind("ShortExcerpt")读入HttpUtility.HtmlDecode的文本?

n

最佳答案

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

因此,要么尝试在代码背后的HtmlDecode文本框:

<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>


两者都尚未测试。

关于c# - 如何在详细信息 View 中进行html解码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10342009/

10-13 06:57