2012年 04月 29日
ASP.NETでHtmlエディターを実装する場合、
過去の仕事ではASP.NET AJAX Control Toolkitを利用しました。
ただ、dllを配置したり、web.configを設定したりといろいろ面倒だったりします。
ということで、もう少し楽に実装できないか、調査したところ
jQuery利用という前提ですがCLEditorというjQueryプラグインを見つけました。
(どのように実装するかはGetting Startedを御覧ください)
TextBoxコントロールをブラウザ上で拡張して、
Htmlエディターを実装するのですが
一つ注意する必要があります。
htmlタグが含まれている状態でpostbackすると
セキュリティ違反で落ちてしまいます。
そのため、javascript側、サーバー側それぞれに
URLエンコードとデコードをする必要があります。
【javascript側】
送信ボタンクリック時にTextBoxに格納されたhtmllをURLエンコードする
【サーバ側(vb.net)】
ページロードイベントでTextBoxに格納されたデータをURLデコードする
参考になれば幸いです。

にほんブログ村
過去の仕事ではASP.NET AJAX Control Toolkitを利用しました。
ただ、dllを配置したり、web.configを設定したりといろいろ面倒だったりします。
ということで、もう少し楽に実装できないか、調査したところ
jQuery利用という前提ですがCLEditorというjQueryプラグインを見つけました。
(どのように実装するかはGetting Startedを御覧ください)
TextBoxコントロールをブラウザ上で拡張して、
Htmlエディターを実装するのですが
一つ注意する必要があります。
htmlタグが含まれている状態でpostbackすると
セキュリティ違反で落ちてしまいます。
そのため、javascript側、サーバー側それぞれに
URLエンコードとデコードをする必要があります。
【javascript側】
送信ボタンクリック時にTextBoxに格納されたhtmllをURLエンコードする
<javascript type="text/javascript">
$(document).ready(function(){
$("#<%= 送信ボタン.ClientId %>").submit(
function(){
var html =
$("#<%= TextBox.ClientId %>").val();
$("#<%= TextBox.ClientId %>").val(
encodeURI(html)
);
});
});
</javascript>
【サーバ側(vb.net)】
ページロードイベントでTextBoxに格納されたデータをURLデコードする
TextBox.Text =
HttpUtility.URLDecode(
TextBox.Text
)
参考になれば幸いです。
にほんブログ村




