zoukankan      html  css  js  c++  java
  • EasyUI form ajax submit后,在IE下提示下载内容的解决办法

    在IE下使用EasyUI form插件创建或编辑数据时(操作成功后会返回一段json),始终无法运行回调函数,而是提示下载内容。
    在IE9下的提示如下图:为了解决这个问题,需要将json字符串用下面的格式返回给客户端才行。

    <body>
    <pre>{"message":"保存成功","data":null,"success":true}</pre>
    </body>


    所以写了一个hack方法:

    View Code
      1 /// <summary>
      2     /// 前台Ajax请求的统一返回结果类
      3     /// </summary>
      4     public class AjaxResult
      5     {
      6         private AjaxResult()
      7         {
      8         }
      9 
     10         private bool _isError = false;
     11 
     12         /// <summary>
     13         /// 是否产生错误
     14         /// </summary>
     15         public bool IsError { get { return _isError; } }
     16 
     17         /// <summary>
     18         /// 错误信息,或者成功信息
     19         /// </summary>
     20         public string Message { getset; }
     21 
     22         /// <summary>
     23         /// 成功或失败时返回的数据
     24         /// </summary>
     25         public object Data { getset; }
     26 
     27         /// <summary>
     28         /// 指示前台应该做什么操作
     29         /// </summary>
     30         public string Action { getset; }
     31 
     32         #region Error
     33         public static AjaxResult Error()
     34         {
     35             return new AjaxResult()
     36             {
     37                 _isError = true
     38             };
     39         }
     40         public static AjaxResult Error(string message)
     41         {
     42             return new AjaxResult()
     43             {
     44                 _isError = true,
     45                 Message = message
     46             };
     47         }
     48         #endregion
     49 
     50         #region Success
     51         public static AjaxResult Success()
     52         {
     53             return new AjaxResult()
     54             {
     55                 _isError = false
     56             };
     57         }
     58         public static AjaxResult Success(string message)
     59         {
     60             return new AjaxResult()
     61             {
     62                 _isError = false,
     63                 Message = message
     64             };
     65         }
     66         public static AjaxResult Success(object data)
     67         {
     68             return new AjaxResult()
     69             {
     70                 _isError = false,
     71                 Data = data
     72             };
     73         }
     74         public static AjaxResult Success(string message, object data)
     75         {
     76             return new AjaxResult()
     77             {
     78                 _isError = false,
     79                 Data = data,
     80                 Message = message
     81             };
     82         }
     83         #endregion
     84 
     85         public override string ToString()
     86         {
     87             return new JavaScriptSerializer().Serialize(this);
     88         }
     89 
     90         /*When using form ajax submit, the server response should be an HTML file with a textarea element or a pre element. The response data should be inside the textarea element or pre element. For example:
     91         <body>
     92             <pre>{"message":"保存成功","data":null,"success":true}</pre>
     93         </body>
     94         To retrieve the response data:
     95         $('#ff').form({
     96             success:function(data){
     97                 alert(data);
     98             }
     99         });
    100         */
    101         public ActionResult ToActionResult()
    102         {
    103             var result = new ContentResult();
    104             result.Content = string.Format("<body><pre>{0}</pre></body>"this.ToString());
    105             result.ContentType = "text/html";
    106             return result;
    107         }
    108     }

    ——致力于微软企业解决方案、项目管理及技术培训
  • 相关阅读:
    win10补丁导致打印机无法共享
    EdgexGo2.0学习-14 EdgeX2.0 AppService导出到Mqtt
    EdgexGo2.0学习-13 EdgeX2.0 编译Appservice
    winform程序在系统缩放150%时右边留空白问题解决办法
    Linux嵌入式串口转网络
    Win10 磁盘变成文件夹
    Win10下使用Gitblit
    JMeter学习笔记——Web接口测试(webservice)
    jmeter之__RandomFromMultipleVars函数使用详解
    jmeter——参数化——$__RandomFromMultipleVars()函数
  • 原文地址:https://www.cnblogs.com/fuhongwei041/p/2734554.html
Copyright © 2011-2022 走看看