文件上传器阻止按钮点击

时间:2017-11-28 22:58:22

标签: c# asp.net file-upload

我有一个奇怪的... ...

我在ASP页面上有两个控件 - 一个文件上传器和一个按钮。

<asp:Panel ID="pnlUploadData" runat="server">
    <asp:FileUpload ID="fuWizData" runat="server" AllowMultiple="false" />
    <br />
    <asp:LinkButton ID="lbUploadWizData" runat="server" OnClick="btnUpload_Click" EnableViewState="true" Text="Upload" />
</asp:Panel>
<asp:Panel ID="pnlDataUploaded" runat="server" Visible="false">
     Upload complete! Please continue to the next step.
</asp:Panel>

请注意链接按钮的OnClick =“btnUpload_Click”。 我在btnUpload_Click

的第一行放置了一个断点
protected void btnUpload_Click(object sender, EventArgs e)
{
    pnlDataUploaded.Visible = true; //Breakpoint here
    pnlUploadData.Visible = false;
}

如果单击按钮而未在上传器中选择文件,我会点击断点,一切都很棒。

如果我在文件上传器中选择一个文件,然后单击按钮 - 没有任何反应。没什么。没有回发。

我搜索了一下,发现其他人遇到了这个问题(https://www.codeproject.com/Questions/284245/button-click-event-not-firing-with-file-upload-conEvent of button is not fired when i browse any file through fileupload control and upload it..connection time out error

我尝试将<httpRuntime executionTimeout="999999" maxRequestLength="2097151" />添加到我的网络配置中,但这不起作用。我的页面上也没有任何可能影响它的验证器。 我也尝试使用ASP按钮而不是LinkBut​​ton,但这不起作用。我甚至检查了页面上的javascript,并且链接按钮的onclick是正确的,但调用方法没有做任何事情(不知道为什么)。 这是呈现的HTML:

<a id="MainContent_lrtImportWizard_vtmImportWizard_vtImportData_lbUploadWizData" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$lrtImportWizard$vtmImportWizard$vtImportData$lbUploadWizData", "", true, "", "", false, true))'>Upload</a>

任何帮助都会很棒!或者任何方式来跟踪可能发生的事情。

1 个答案:

答案 0 :(得分:0)

您应该设置AutoPostBack =“true”。

当您执行Visible =“false”时,该属性将仅在服务器端更改。但是你在客户端(在浏览器上)看到的是html的影响。您需要将该信息更新到客户端。 AutoPostBack =“true”将导致任何服务器端更改仅应用于控件。

此外,您可以使用java脚本立即隐藏和取消隐藏您的控件,因为javascript在客户端运行。