Как отправить HTML-текст в общий обработчик ASP.NET? - PullRequest
0 голосов
/ 01 марта 2011

У меня есть редактор WYSIWYG на одной из моих форм, и я хочу отправить содержимое редактора в универсальный обработчик ASP.NET для обработки через вызов Ajax.

У меня немногопроблема при разборе полученного 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) сообщениеискажен.

Есть идеи, как это исправить?

1 Ответ

2 голосов
/ 01 марта 2011

Правильный способ парсинга строки, отправленной на сервер через JavaScript с помощью escape(), заключается в использовании HttpServerUtility.UrlDecode();

...