asp.net-mvc – 同时发送文件并重定向到新页面的MVC方式是什么?
发布时间:2020-12-16 04:35:27 所属栏目:asp.Net 来源:网络整理
导读:我有一个用户必须填写并提交的表格.控制器操作执行一些操作并确定用户可以拥有一个文件,因此重定向到另一个操作,即FilePathResult. [CaptchaValidator] [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(FormCollection collection) { // do some s
我有一个用户必须填写并提交的表格.控制器操作执行一些操作并确定用户可以拥有一个文件,因此重定向到另一个操作,即FilePathResult.
[CaptchaValidator] [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(FormCollection collection) { // do some stuff ... return RedirectToAction("Download"); } [AcceptVerbs(HttpVerbs.Get)] public FilePathResult Download() { var fileName = "c:foo.exe"; return File(fileName,"application/octet-stream","installer.exe"); } 我想做的是将用户重定向到另一个页面,感谢用户下载文件,但我不知道如何以“类似MVC”的方式实现这一点. 我能想到的唯一方法是跳过下载操作,而是重定向到ThankYou操作,并让ThankYou视图使用javascript发送文件.但这对我来说似乎不是MVC.有更好的方法吗? 结果: 接受的答案是正确的,但我想表明我实施了它. Index操作会在重定向到的位置发生更改: return RedirectToAction("Thankyou"); 我添加了这个控制器(和视图),向用户显示任何“发布下载信息”,并感谢下载文件.我从link text抓取的AutoRefresh属性显示了一些其他优秀的用途. [AutoRefresh(ControllerName="Download",ActionName="GetFile",DurationInSeconds=3)] [AcceptVerbs(HttpVerbs.Get)] public ActionResult Thankyou() { return View(); } 重定向到的动作与以前一样: [AcceptVerbs(HttpVerbs.Get)] public FilePathResult GetFile() { var fileName = "c:foo.exe"; return File(fileName,"installer.exe"); } 解决方法
只需在重定向页面的操作中为响应添加标题即可.
谷歌搜索出现了这个标题: Refresh: 5; URL=http://host/path 在您的情况下,URL将替换为您的下载操作的URL 正如我正在阅读的页面所说,数字5是在“刷新”到网址之前等待的秒数. 随着文件的下载,它不应该让你离开漂亮的重定向页面:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 什么用作asp.net会员后端? RavenDB或SqlServer
- asp.net-mvc – 模型绑定复选框问题列表
- asp.net – 是存储库单例或静态还是没有这些?
- asp.net-mvc – Uploadify(会话和身份验证)与ASP.NET MVC
- asp.net-mvc – 如何扩展/架构ASP.NET MVC 3授权处理此场景
- asp.net – 即使它已经过时,仍然可以使用System.Data.Oracl
- asp.net – Fulltext Query String的全文查询参数无效
- asp.net – 允许服务器/ usercontrol上的任何属性/属性
- asp.net-mvc – ASP.NET MVC会话过期
- ASP.NET会话对象中的实体框架对象上下文?
推荐文章
站长推荐
- asp.net-core – 如何在.NET Core中构建和运行时
- asp.net – 缓存通过VirtualPathProvider返回的静
- asp.net核心2.0发布到azure得到IIS 502.5错误
- asp.net-mvc-3 – 陷入ASPNETCOMPILER:错误ASPR
- ASP.Net的最佳免费文件管理器
- asp.net-mvc – 在实体框架代码中为同一表定义多
- asp.net-mvc – 如何将复选框绑定到视图模型的Li
- asp.net – Web API – Web窗体项目安全性错误
- 如何阻止asp.net上传发布的文件
- asp.net – IIS在编译的.net站点中查找.cs文件
热点阅读