我有一个blazor服务器应用程序,该应用程序将xml文件生成到特定目录。我在表格上显示文件列表,以使其可下载,但不起作用。
@if (Files != null)
{
<table class="table">
<thead>
<tr>
<th>Files</th>
<th> </th>
</tr>
</thead>
<tbody>
@foreach (var item in Files)
{
<tr>
<td>@item.Name </td>
<td> <a href="@item.FullName" download>Download</a> </td>
</tr>
}
</tbody>
</table>
}
答案 0 :(得分:0)
由于没有代码可填充Files变量,因此它将始终为null。您必须在事件处理程序或生命周期事件中执行此操作。
答案 1 :(得分:0)
尝试通过以下函数调用IJSRuntime:
@inject IJSRuntime js`
@code{
void Download(string fileName
await js.InvokeVoidAsync("downloadFile",fileName)
}
_Host.cshtml
function downloadFile(fileName) {
location.href = fileName;
}