首页 新闻 会员 周边

ASP.NET MVC 文件下载FileContentResult会进入两次[求助]

0
悬赏园豆:10 [待解决问题]

ASP.NET MVC 文件下载FileContentResult会进入两次,怎么才能让它只进一次?为什么会进两次?

小徐的博客园的主页 小徐的博客园 | 初学一级 | 园豆:5
提问于:2014-09-01 22:40
< >
分享
所有回答(2)
0

贴代码。

Firen | 园豆:5385 (大侠五级) | 2014-09-02 11:47
0

应该是不会进两次的,你检查检查代码,看看是否前台js调了两个载文件的action,或把代码贴出来!

Happy1988 | 园豆:159 (初学一级) | 2014-09-02 13:03

先说明一下,用谷歌浏览器只进入一次,用IE就会进入两次

后台代码:

 public FileContentResult Download()
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("Name", "姓名");
            dic.Add("StudyCode", "学籍号");
            //dic.Add("PassWord", "密码");        
            dic.Add("Sex", "性别");
            dic.Add("Birthday", "出生日期");
            dic.Add("Department", "所属院系");
            dic.Add("Specialty", "所属专业");
            dic.Add("tbClass", "班级");
            dic.Add("Email", "电子邮箱");
            dic.Add("PhoneNo", "手机号码");
            dic.Add("AcademicYear", "学年度");
            dic.Add("IdentityNo", "身份证号码");
            dic.Add("Teacher", "所属老师");
            dic.Add("LastPlayTime", "英语最近一次播放时长");
            dic.Add("TotalPlayTime", "英语播放总时长");
            dic.Add("JapaneseLastPlayTime", "日语最近一次播放时长");
            dic.Add("JapaneseTotalPlayTime", "日语播放总时长");
            //  dic.Add("CreateTime", "创建时间");
            return File(SqlHelper.ToExecl(new List<Models.Study>(), dic).ToArray(), "application/vnd.ms-excel", string.Format("导入学生信息格式{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
        }

前台代码:

<iframe name='hidden_frame' id='hidden_frame' style='display: none'></iframe>
            <form action="/Study/Download" method="post" id="form2" target="hidden_frame">
                <div  onclick="javascript:document.getElementById('form2').submit()">下载标准格式</div>
            </form>

支持(0) 反对(0) 小徐的博客园 | 园豆:5 (初学一级) | 2014-09-02 13:39

@小徐的博客园: 别放在form里面试试,直接按钮点击下载,不用在form里面提交,直接一个a链接到后台方法下载

支持(0) 反对(0) 开山怪不怪 | 园豆:544 (小虾三级) | 2015-01-06 15:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册