gpt4 book ai didi

c# - 在 AsyncFileUpload 上传完成时启用按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:41 26 4
gpt4 key购买 nike

情况是这样的:我有一个屏幕,上面有一个 AsyncFileUpload 和一个按钮。现在的问题是,如果用户在文件上传完成之前单击按钮,则会弹出一个错误,所以我想要实现的是在页面加载时禁用按钮,一旦文件上传完成,它就必须制作按钮再次可见。现在我已经在网上浏览了问题和解决方案,我可以确定按钮是在服务器端处理的,所以我不能使用 javascript 来执行此操作。因此,当我在屏幕后面的代码中执行此操作时,它会成功禁用按钮,但在文件上传完成后不会成功启用它。我的假设是因为没有发生回发并且按钮似乎没有启用,因为没有发生屏幕刷新。

如何解决这个问题以及如何在文件上传完成后启用该按钮?

到目前为止,这是我所拥有的,代码不多,但无论如何:批量插入.aspx

  <%@ 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>

BulkInsert.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btnImport.Enabled = false;

}
}


protected void AsyncUpload_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
this.btnImport.Enabled = true;
}

最佳答案

我建议仅使用 javascript 来显示按钮,您不会在处理过程中使用它。您可以使用已经包含在您的设计中的 AjaxFileUpload OnClientUploadComplete="UploadComplete",它将完美地实现您的目标。

在标记中创建这样的函数:

   function UploadComplete(sender, args) {
var control = document.getElementById("<%=btnImport.ClientID%>");
control.style.display = "block";

}
</script>

然后修改您的按钮使其具有style="display:none"

关于c# - 在 AsyncFileUpload 上传完成时启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com