Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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.net core 2.0 Razor页面执行下载操作_C#_Asp.net Core 2.0_Razor Pages - Fatal编程技术网

C# 如何使用asp.net core 2.0 Razor页面执行下载操作

C# 如何使用asp.net core 2.0 Razor页面执行下载操作,c#,asp.net-core-2.0,razor-pages,C#,Asp.net Core 2.0,Razor Pages,我正在使用文档管理系统,我成功地完成了上传和删除文件,但我无法执行从数据库下载操作,我是新的Razor页面,所以,如果有人能帮助我,我将不胜感激。下面是关于我的项目的更多细节 这是我的Index.cshtml @Html.DisplayNameFor(model=>model.Schedule[0].Title) @Html.DisplayNameFor(model=>model.Schedule[0].UploadDT) @Html.DisplayNameFor(model=>model.

我正在使用文档管理系统,我成功地完成了上传删除文件,但我无法执行从数据库下载操作,我是新的Razor页面,所以,如果有人能帮助我,我将不胜感激。下面是关于我的项目的更多细节

这是我的Index.cshtml


@Html.DisplayNameFor(model=>model.Schedule[0].Title)
@Html.DisplayNameFor(model=>model.Schedule[0].UploadDT)
@Html.DisplayNameFor(model=>model.Schedule[0].PublicScheduleSize)
@*
@Html.DisplayNameFor(model=>model.Schedule[0].PrivateScheduleSize)
*@
操作
@foreach(模型计划中的var项目)
{
@DisplayFor(modeleItem=>item.Title)
@DisplayFor(modelItem=>item.UploadDT)
@DisplayFor(modelItem=>item.PublicScheduleSize)
@*删除*@
删除
下载
}

您的代码很难解析,但似乎最终将文件作为blob存储在数据库表中。一般来说,您需要一个从数据库检索此数据并将其作为
文件结果返回的操作:

public OnDownloadGetAsync(int scheduleId)
{
    var schedule = await _context.Set<Schedule>().FindAsync(scheduleId);
    if (schedule == null)
        return NotFound();

    return File(schedule.PublicSchedule, schedule.PublicScheduleType);
}
设置完成后,只需链接到此处理程序:

<a asp-page="Index" asp-handler="Download" asp-route-scheduleId="@schedule.Id">Download</a>
下载

您需要添加文件的路径。您可以指定下载链接的位置吗?例如
我完全不知道如何编写下载操作的代码,因此您可以给我提供此操作的完整视图。这是我的下载
链接按钮
下载
我想从数据库执行下载我已经发布了答案中的链接。请看一看。
<a asp-page="Index" asp-handler="Download" asp-route-scheduleId="@schedule.Id">Download</a>