2011-03-01 8 views
-1

フォームの1つにWYSIWYGエディタがあり、エディタの内容をAjax呼び出しで処理するためのASP.NET汎用ハンドラに送信したいとします。ASP.NET Generic Handlerにhtmlテキストを送信するには?

私は、受け取ったHTMLを解析するのに少し問題があります。

クライアント側:

$(function(){ 
    $('.send').bind('click', function(event){ 

     var message = $('#TxtMessage').htmlarea('toHtmlString'); 
     message = escape(message); 

     $.get('/Handlers/EmailHandler', { message: message }, function(data){ 

      if(data != null || data != '') 
      { 
       var success = eval(data); 

       if(success){ 
        alert('Email sent'); 
       } 
      } 
     }); 

    }); 
}); 

サーバー側:

public class EmailHandler : IHttpHandler, IRequiresSessionState 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
     context.Response.ContentType = "text/plain"; 
     string message = (string.IsNullOrEmpty(context.Request.Params["message"]) ? string.Empty : context.Request.Params["message"].ToString()); 

     message = context.Server.HtmlDecode(message); 

     //do whatever... 
    } 
} 

だから、問題は、私はServer.HtmlDecode(string)を呼び出す場合でも、メッセージが文字化けしていることです。

これを修正する方法はありますか?

答えて

2

escape()を使用してJavaScript経由でサーバーに送信される文字列を解析する正しい方法は、HttpServerUtility.UrlDecode()を使用することです。

関連する問題