2011-03-01 37 views
-1

我在我的一個表單上有一個所見即所得編輯器,我想將編輯器的內容發送到ASP.NET通用處理程序,以便通過Ajax調用進行處理。如何將html文本發送到ASP.NET通用處理程序?

我有麻煩解析收到的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();

相關問題