加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 03:41:15 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有updatepanel,脚本管理器和asyncfileupload控件的用户控件. %@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" % asp:ScriptManager ID="ScriptManager2" runat="server" /asp:ScriptManagerasp:Update
我有一个带有updatepanel,脚本管理器和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对象中,文件名是什么都没有.我似乎无法引用应该上传的文件.

-Nate

UPDATE
我已经添加

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进行show / hide(我本来应该做的).

解决方法

确保没有异步加载带有asyncfileupload控件的usercontrol,例如通过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">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读