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")お願いしますか?

thnx

4

1 に答える 1

5

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>

どちらもまだテストされていません。

于 2012-04-26T22:09:03.980 に答える