gpt4 book ai didi

asp.net - 无法让 AsyncFileUpload 在更新面板中工作

转载 作者:行者123 更新时间:2023-12-04 16:41:14 26 4
gpt4 key购买 nike

我有一个带有更新面板、脚本管理器和 asyncfileupload 控件的用户控件。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 
<asp:ScriptManager ID="ScriptManager2" runat="server" ></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<cc1:AsyncFileUpload ID="AsyncFileUpload2" runat="server" />
<asp:LinkButton id="lbSubmitOrder" runat="server" title="Submit Order Request" class="btn_blue_dynamic_med"/>
</ContentTemplate>
</asp:UpdatePanel>

在我后面的代码中:
 Dim path As String = Server.MapPath("~/temp/test.tmp")

AsyncFileUpload2.SaveAs(path)

在我的 AsyncFileUpload2 对象中,文件名什么都不是。我似乎无法引用应该上传的文件。

-内特

更新
我已经添加
Private Sub AsyncFileUpload1_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete
If e.state = AjaxControlToolkit.AsyncFileUploadState.Success Then
'....'
Else
showErrorMessage(e)
End If
End Sub

选择文件后,我无法在“if”语句处打断点。我想我的页面上有什么问题与 ajax 的工作方式有关吗?不确定它是什么。

固定的!
我通过一个带有visible=true/false div的单选按钮显示ajax上传框。答案告诉我控件必须在页面加载的地方。我拿走了div,一切正常!我现在将通过 jquery 进行显示/隐藏(我应该首先完成)。

最佳答案

确保带有 asyncfileupload 控件的用户控件不是异步加载的,例如通过 Response.Redirect("pageWithUploadControl")。

您是否处理过 FileUploadComplete 事件并检查 AsyncFileUploadState 是否成功?

   Private Sub AsyncFileUpload1_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete
If e.state = AjaxControlToolkit.AsyncFileUploadState.Success Then
'....'
Else
showErrorMessage(e)
End If
End Sub

Private Sub showErrorMessage(ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs)
Dim message As String = String.Empty
Select Case e.statusMessage
Case AjaxControlToolkit.AsyncFileUpload.Constants.Errors.EmptyContentLength
message = "Empty content length!"
Case AjaxControlToolkit.AsyncFileUpload.Constants.Errors.FileNull
message = "Fill NULL!"
Case AjaxControlToolkit.AsyncFileUpload.Constants.Errors.InputStreamNull
message = "Input Stream NULL!"
Case AjaxControlToolkit.AsyncFileUpload.Constants.Errors.NoFileName
message = "No File Name!"
Case AjaxControlToolkit.AsyncFileUpload.Constants.Errors.NoFiles
message = "No Files!"
End Select
LblMessage.Text = message
End Sub

尝试更改更改表单的 enctype:
<form id="form1" enctype="multipart/form-data" runat="server">

关于asp.net - 无法让 AsyncFileUpload 在更新面板中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5423911/

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