c#:ajaxForm提交input File 文件 与 IE的冲突解决方法

来源:互联网 发布:php上传zip文件并解压 编辑:程序博客网 时间:2024/06/05 00:08

1.问题:

最近做的一个网站项目用到了c# asp.net mvc2,ajaxform 方式提交数据,但客户测试后发现有一个页面总是提交表单后,返回的是下载数据,而不是正常的ajax提示框.

    //新增 修改    $("#btnSave").live('click', function() {        $('#frmSave').submit();    });        $('#frmSave').ajaxForm({        dataType: 'json',        success: function(data) {            if (data.success) {                $.ActionResponse('success', '提示', "保存员工信息成功!");            } else {                $.ActionResponse('error', '提示', "保存出错:" + data.data);            }        }
   public ActionResult Save(Employee item)        {              .........            return JsonSuccess();        }

2.原因:

一直是在firefox+firebug 下做的开发,客户那里是ie9,最后查找网上资料找到了下面网址:

http://usenrong.iteye.com/blog/1327724

我的表单中,确实是有一个<input type="file" >控件,删除这个控件后,在ie下测试竟然通过了!郁闷了几天的bug竟然出在上传图片这个不起眼的地方.

3.解决方法:

这个网页 http://usenrong.iteye.com/blog/1327724 上提示的意思是服务器返回的内容字符集格式存在问题,只好自己试着改造了:

 

   public ActionResult Save(Employee item)        {              .........                return TextResult("{\"success\":true}");        }
测试通过!

这样写代码,感觉确实有点烂,先凑合着解决问题,如果有更好的方法,请高手多多指点.