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 からテキストを引き出しています。