C# 使button类处于禁用状态的标记

C# 使button类处于禁用状态的标记,c#,html,asp.net-core,tags,C#,Html,Asp.net Core,Tags,我有一个像下面这样的标签 <a class="button button-3d button-rounded btn-success" asp-page-handler="Download"> <i class="fa fa-download"></i> </a> 使用处理程序: public async Task<FileResult> OnGetDownload

我有一个像下面这样的标签

<a class="button button-3d button-rounded btn-success" asp-page-handler="Download">
   <i class="fa fa-download"></i>
</a>

使用处理程序:

public async Task<FileResult> OnGetDownloadAsync()
{
    return File(await export.ExportAsync(), MediaTypeNames.Application.Octet, fileName + ".xlsx");
}
公共异步任务OnGetDownloadAsync()
{
返回文件(等待export.ExportAsync(),MediaTypeNames.Application.Octet,文件名+“.xlsx”);
}

export.ExportAsync调用有时可能很长。因此,我想在系统工作时禁用该按钮。我怎样才能做到这一点?谁能帮帮我吗?

谢谢@Karney。这对我帮助很大。你能再帮我一件事吗?我下载的文件名不是相同的文件名+“.xlsx”。它只是一个GUID。我不知道为什么。好的,不客气。添加
xhr.getResponseHeader('Content-Disposition')
要获取文件名,我已经添加了方法,您可以参考它。
<button onclick="tap()" id="mybtn" class="btn-primary ">click</button>
@section Scripts{ 
<script>
function tap() {
    $('#mybtn').attr("class", "disabled");

    var url = '/?handler=Download';
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = "blob"; //  return type:blob
    xhr.onload = function (data, textStatus, request) {// finish request
        if (this.status === 200) {
            $('#mybtn').attr("class", "btn-primary");

            var blob = this.response;// get the return value
            var a = document.createElement('a');
            var fileName = xhr.getResponseHeader('Content-Disposition').split(";")[1].split("=")[1];
            a.download = fileName

            a.href = window.URL.createObjectURL(blob);
            a.click();
        }
    };

    // send request
     xhr.send();
}

</script>
}