所以我有一个下载csv文件的按钮。按钮简单:
$("#btnExportToContactList").click(function (e) {
window.location.href = '/Home/ExportList';
});
我的动作只是返回一个
File(new System.Text.UTF8Encoding().GetBytes(csv), "text/csv", filename);
一切都很好。现在,因为我在按下按钮时构建了一个csv,并且因为这个过程可能需要一些时间,所以我想建立一个加载屏幕或者只是在等待时禁用按钮。我的问题是如何禁用/启用按钮?
我尝试过以下操作,但它不起作用,因为浏览器被重定向到另一个页面,它将停止执行我的Javascript。
$("#btnExportToContactList").click(function (e) {
$("#btnExportToContactList").attr("disabled", true);
window.location.href = '/Home/ExportList';
$("#btnExportToContactList").attr("disabled", false);
});
但它不起作用。有人有解决方案吗?
答案 0 :(得分:0)
每次页面准备好或加载时,您都可以将disabled
属性设置为false
。
$(function(){
$("#btnExportToContactList").attr("disabled", false);
$("#btnExportToContactList").click(function (e) {
$("#btnExportToContactList").attr("disabled", true);
window.location.href = '/Home/ExportList';
});
});
更新:如果以上不起作用,您可以尝试这样的解决方法。而不是调用window.location.href
,您可以使用ajax请求调用控制器的操作并返回包含在服务器上创建的文件的url的json resullt,然后在ajax调用成功时,您可以使用一些javscript代码下载此文件,然后更改所需的元素&# 39; s残疾人财产。
选中more