日期:2014-05-16  浏览次数:20458 次

mvc模式下通过输入参数设置下载某个文件?
我现在的方法
1.view:post参数,跳转到下载页面

//......
  $.post('@Url.Action("s","down")', auction);
  window.location.href = '../down/Excel';

2.controller接收,通过session传值,另外一个controller通过session返回一个文件

//接收
    [HttpPost]
        public ActionResult s(Down auction)
        {
            Down md = auction;
           //session传数据
            System.Web.HttpContext.Current.Session["Station"] = md.station;
           //这句是不是没什么用?
            return RedirectToAction("excel", "down");
        }

       [WebMethod]
        [Authorize]
        public FileStreamResult Excel()
        {
            //接收session
           //生成文件代码....
            return File(ms, "application/ms-excel", filename);
        }


问题1.如何更好的实现这个功能?
问题2.我之前想通过 FileStreamReslt直接接收post传来的数据,然后返回文件,但是老出错,调试的时候能接收到数据,但是使用的是接收不到,是什么原因?
MVC初学者,请大侠指点。
------解决方案--------------------
有点想不通 为啥用POST.访问S控制器。
 直接windows.location.href="../down/Excel?auction=auction";
不可以?
------解决方案--------------------
Refer here:
http://www.cnblogs.com/insus/p/3615714.html