C# 在AsyncFileUpload上启用按钮上载完成
这是一个场景:我有一个屏幕,上面有一个AsyncFileUpload和一个按钮。现在的问题是,如果用户在文件上传完成之前单击按钮,就会弹出一个错误,因此我想要实现的是在页面加载时禁用按钮,并且一旦文件上传完成,就必须使按钮再次可见。现在我已经在网络上讨论了一些问题和解决方案,我能理解的是,按钮是在服务器端处理的,所以我不能使用javascript来实现这一点。因此,当我在屏幕后面的代码中执行此操作时,它会成功禁用按钮,但在文件上载完成后不会成功启用。我所做的假设是因为没有发生回发,并且按钮似乎没有被启用,因为没有发生屏幕刷新 文件上传完成后,我如何通过该按钮,以及如何启用该按钮 以下是我到目前为止所掌握的内容,虽然代码不多,但它仍然在这里: BulkInsert.aspxC# 在AsyncFileUpload上启用按钮上载完成,c#,javascript,asp.net,visual-studio-2010,C#,Javascript,Asp.net,Visual Studio 2010,这是一个场景:我有一个屏幕,上面有一个AsyncFileUpload和一个按钮。现在的问题是,如果用户在文件上传完成之前单击按钮,就会弹出一个错误,因此我想要实现的是在页面加载时禁用按钮,并且一旦文件上传完成,就必须使按钮再次可见。现在我已经在网络上讨论了一些问题和解决方案,我能理解的是,按钮是在服务器端处理的,所以我不能使用javascript来实现这一点。因此,当我在屏幕后面的代码中执行此操作时,它会成功禁用按钮,但在文件上载完成后不会成功启用。我所做的假设是因为没有发生回发,并且按钮似乎没
<%@ Page AspCompat="true" Title="MainPage" MasterPageFile="~/MasterPage.master" Language="C#"
AutoEventWireup="true" CodeFile="InventoryBulkInsert.aspx.cs" Inherits="content_inventory_InventoryBulkInsert" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<table border="0" class="tablebody" width="100%">
<tr>
<td class="title" colspan="2">
Bulk insert
</td>
</tr>
<tr>
<td class="headercell" colspan="2">
File Upload
</td>
</tr>
<tr>
<td class="style1">
File
</td>
<td class="style2" style="height: 26px">
<asp:AsyncFileUpload ID="AsyncUpload" runat="server" OnUploadedComplete="AsyncUpload_UploadedComplete"
OnClientUploadComplete="UploadComplete" OnUploadedFileError="AsyncUpload_UploadedFileError"
colspan="1" />
</td>
</tr>
<tr>
<td class="style1">
</td>
<td align="left">
<asp:Button runat="server" ID="btnImport" Text="Import" BackColor="#990000" ForeColor="White"
nowrap Width="214px" OnClick="btnImport_Click" />
</td>
</tr>
我建议只在显示按钮时使用javascript,而不会在处理过程中使用它。您可以使用AjaxFileUpload
OnClientUploadComplete=“UploadComplete”
,它已经包含在您的设计中,可以完美地实现您的目标
在标记中创建如下函数:
function UploadComplete(sender, args) {
var control = document.getElementById("<%=btnImport.ClientID%>");
control.style.display = "block";
}
</script>
函数上传完成(发送方,参数){
var control=document.getElementById(“”);
control.style.display=“block”;
}
然后修改按钮,使其具有
style=“display:none”
该部分的功能是什么?control.style.display=“block”;这将使按钮可见:)非常欢迎:)您也可以使用control.style.display=“inline”;在相同位置显示按钮。
function UploadComplete(sender, args) {
var control = document.getElementById("<%=btnImport.ClientID%>");
control.style.display = "block";
}
</script>