Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用ASP.NETMVC显示文件名和下载链接?_C#_Asp.net Mvc - Fatal编程技术网

C# 如何使用ASP.NETMVC显示文件名和下载链接?

C# 如何使用ASP.NETMVC显示文件名和下载链接?,c#,asp.net-mvc,C#,Asp.net Mvc,我在呈现文件夹中列出的文件时遇到问题。我可以显示文件夹中列出的文件的URL,但我希望它显示文件名而不是URL,而不是链接。此外,我希望能够添加一个超链接到各自的文件,以便可以从文件夹下载 模范班 public string AgentName { get; set; } public string DealType { get; set; } public HttpPostedFileBase[] files { get; set; } //Used to upload multiple f

我在呈现文件夹中列出的文件时遇到问题。我可以显示文件夹中列出的文件的URL,但我希望它显示文件名而不是URL,而不是链接。此外,我希望能够添加一个超链接到各自的文件,以便可以从文件夹下载

模范班

public string AgentName { get; set; }

public string DealType { get; set; }

public HttpPostedFileBase[] files { get; set; } //Used to upload multiple files or images

要调用的操作方法

public ActionResult DealInfo(int id)
{
using(Db db = new Db())
{

ManagementDeal deal = db.ManagementDeals.FirstOrDefault(x => x.DealId == id);

var dId = deal.DealId;

ViewBag.DealID = dId;


string[] filePaths = Directory.GetFiles(Server.MapPath("~/Images/Uploads/Deals/" + id));
                
                
ViewBag.FilePath = filePaths;
视图以渲染文件夹中的文件

<div class="container-fluid">
    <div class="row">
        @foreach (string item in ViewBag.FilePath)
        {
            <div class="col-sm-2">
                <div class="text-center">
                    <h1><i class="fas fa-file-alt text-warning"></i></h1>
                    <a href="~/Images/Uploads/Deals/@item" target="_blank">@item</a><br />
                </div>
            </div>
        }
    </div>
</div>

@foreach(ViewBag.FilePath中的字符串项)
{

}
所以

  • 显示文件名而不是URL
  • 应该能够下载文件点击文件名
  • 屏幕截图显示了我当前的视图


    提前感谢。

    在控制器操作中使用以下代码修复了它

    ViewBag.FilePath = Directory.EnumerateFiles(Server.MapPath("~/Images/Uploads/Deals/" + id ))
                                                    .Select(fn => Path.GetFileName(fn));
    
    在使用foreach的视图中使用上面的render ViewBag,可以显示文件名并在单击时下载文件