1
<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")

谢谢

4

1 回答 1

5

我不认为你可以使用HtmlDecodewith Bind

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

两者都还没有测试。

于 2012-04-26T22:09:03.980 回答