3

ASP.NET 4.0 Web アプリで AjaxControlToolkit の HtmlEditorExtender を使用しています。

<asp:TextBox ID="myTxt" runat="server" TextMode="MultiLine" Height="80px" Width="100%" />
<act:HtmlEditorExtender ID="heMyTxt" runat="server" TargetControlID="myTxt">
  <Toolbar>
    etc...
  </Toolbar>
</act:HtmlEditorExtender>

サーバー側のテキスト ボックスのコンテンツを次のように設定すると、次のようになります。

myTxt.Text = htmlStringFromDatabase;

...テキストボックスのコンテンツは、リテラル HTML マークアップです (つまり、 Bold<b>Bold</b>とは異なり、そのように表示されます)。書式設定は転送されませんが、Extender はテキスト ボックスで作業を行い、ツールバーやボタンなどを設定します。コンテンツを設定する別の方法はありますか?

編集: 私が取得した HTML myTxt(エクステンダーが接続されているコントロール) は、エンコードされた HTML であることがわかります。したがって、問題は、コントロールがそのコンテンツをエンコードするのをどのように停止するかです。この問題はこの質問LoadControl()にも示されていますが、ページにデザイナーを使用していません。マークアップを手動で作成しました。

また、これが違いを生むかどうかはわかりませんが、ページのPage_Loadハンドラーで TextBox からテキストを引き出しています。

4

2 に答える 2

2

このようにしてみて、

myTxt.Text = HttpUtility.HtmlDecode(htmlStringFromDatabase);
于 2012-07-14T06:05:36.240 に答える