【问题标题】:How to send html text to ASP.NET Generic Handler?如何将 html 文本发送到 ASP.NET 通用处理程序?
【发布时间】:2011-07-06 15:52:10
【问题描述】:

我的一个表单上有一个 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),消息也是乱码。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: c# asp.net jquery html-parsing


    【解决方案1】:

    使用escape()解析通过JavaScript发送到服务器的字符串的正确方法是使用HttpServerUtility.UrlDecode()

    【讨论】:

      猜你喜欢
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 2011-04-14
      相关资源
      最近更新 更多