ASP.NET MVC 下载列表
2024-08-25 18:13:29
在ASP.NET WebForm里要想网站某个文件夹的文件列出来供用户下载似乎很简单,WebForm帮你做了很多事,只需要在Html文件里写:
<a href="~/download/">下载列表</a>
即可在点击链接后打开下载目录(download是个文件夹,里面放着一些文件。)。
而在MVC里这样写是不行的,因为MVC不是用文件夹目录的方式来访问,而是采用路由的方式。所以,就算超链接指向了正确的路径也会提示找不到文件。
在MVC里应该怎样做呢?
一、可以不用改动Controller,只在View里写一个循环访问文件夹的方法即可(UploadModel是站点根目录下的Content文件夹下的一个文件夹)。
<h4>下载模板</h4>
<table class="table">
<tr>
<th>文件名</th>
<th>下载</th>
</tr>
@{
foreach (string fullFilePath in Directory.GetFiles(Server.MapPath("~/Content/UploadModel")))
{
<tr>
<td><a href="@Href("~/Content/UploadModel", Path.GetFileName(fullFilePath))">@Path.GetFileName(fullFilePath)</a></td>
<td><a href="@Href("~/Content/UploadModel", Path.GetFileName(fullFilePath))">下载</a></td>
</tr>
}
}
</table>
二、或者在Controller和View里都改动下:
Controller
public ActionResult Upload()
{
var files = Directory.EnumerateFiles(Server.MapPath("~/Content/UploadModel"));
return View(files);
}
View
@foreach (var fullPath in Model)
{
var fileName = Path.GetFileName(fullPath);
<tr>
<td><a href="@Href("~/Content/UploadModel", fileName)">@fileName</a></td>
</tr>
}
这样都可以得到一个下载文件的列表。
只是下载单个的文件:
<a href="@Href("~/Content/myfile.zip")">下载</a>
--End--
最新文章
- vim简单使用
- TypeScript Generics(泛型)
- Windows内核遍历驱动模块源码分析
- iOS_UIImage_裁切圆形头像
- rm: Argument list too long
- python剑指网络篇一
- ZOJ 2477 Magic Cube 暴力,模拟 难度:0
- LB负载均衡集群及NAT模式配置
- JDBC 学习笔记(二)—— 大数据+存储过程+批处理+事务管理
- Knockout.js 初探
- javascript touch事件
- Verilog HDL中阻塞语句和非阻塞语句的区别
- UEFI+GPT下安装Win10+Ubuntu16.04双系统
- vsftpd配置虚拟用户
- C语言程序设计(基础)最后一次作业-- 总结报告
- Python 魔术方法笔记
- MySQL系列详解九:MySQL级联复制演示-技术流ken
- Codeforces986E Prince&#39;s Problem 【虚树】【可持久化线段树】【树状数组】
- JavaScript深入之执行上下文栈
- git本地项目代码上传至码云远程仓库总结【转】
热门文章
- 坚持自学的第二天,bootstrap初入门
- 【Spark学习】Apache Spark配置
- HTTP响应报文与工作原理详解
- JVM内存结构
- Hellow world!
- 问题-XE8客户端访问Webservice时报“no selected dom vendor”
- Spring @PostConstruct and @PreDestroy example
- hdu 5640 King&#39;s Cake(BestCoder Round #75)
- ASP.NET(C#)中的try catch异常处理机制
- android中的Cursor类