2011-03-24 10 views
5

मेरे पास एक अद्यतन पैनेल, स्क्रिप्ट प्रबंधक और asyncfileupload नियंत्रण के साथ उपयोगकर्ता नियंत्रण है।अद्यतन पैनल में काम करने के लिए 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

अद्यतन
मैं जोड़ दिया है

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 

मैं "अगर" बयान में एक को तोड़ने बिंदु हिट नहीं कर सकते हैं मैं एक फ़ाइल चुनने के बाद। मुझे लगता है कि मेरे पेज पर कुछ गलत है कि AJAX कैसे काम कर रहा है? यकीन नहीं है कि यह क्या है।

तय!
मैं एक दृश्य बटन/दृश्य/सत्य div के साथ एक रेडियो बटन के माध्यम से AJAX अपलोड बॉक्स प्रदर्शित कर रहा था। जवाब ने मुझे बताया कि नियंत्रण पृष्ठ लोड होना चाहिए। मैं डिव को दूर ले गया और सब कुछ काम करने लगा! अब मैं jquery के माध्यम से शो/छुपा करूंगा (जो मुझे पहले स्थान पर करना चाहिए था)।

उत्तर

8

सुनिश्चित करें कि 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"> 
+0

उस ब्रेक पॉइंट को मारना नहीं।क्या इसका मतलब है कि मुझे अपने स्क्रिप्ट मैनेजर के साथ कोई समस्या है? मुझे नहीं पता कि यहां से डीबग कैसे करें ... – Nate

+0

@Nate: मेरा संपादन देखें और फॉर्म के enctype को बदलने का प्रयास करें। –

+0

महोदय, क्या आप इस स्क्रिप्ट का सी # संस्करण बना सकते हैं? मुझे अभी एक ही समस्या का सामना करना पड़ रहा है। –

3

हाय आप इसे .cs में OnUploadedComplete="AsyncFileUploadPDF_UploadedComplete" का उपयोग करके ऐसा कर सकते हैं फ़ाइल

protected void AsyncFileUploadPDF_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) 
     { 
      if (AsyncFileUploadImage.HasFile) 
      { 
       Session["AsyncFileUploadPDF"] = AsyncFileUploadImage; 
      } 
     } 

जोड़ सकते हैं और आप डेटा प्राप्त कर सकते हैं सत्र से जहां भी आप चाहते हैं कि मैं बटन

पर क्लिक करें 210
+0

यह वास्तव में सहायक है।^_^ –

+0

फ़ाइल कहां है ?? फ़ाइल को कैसे सहेजते हैं? –

3

मामले में यह किसी को मदद मिलती है, मैं प्रपत्र टैग के लिए निम्न जोड़कर मेरी समस्या तय:

enctype="multipart/form-data" method="post" 
0

मैं एक ही समस्या हो रही थी, पढ़ सकते हैं और इसे ठीक करने पर अनगिनत पदों की कोशिश की (जाहिर है एक बहुत से लोगों को यह मुद्दा है) लेकिन कुछ भी काम नहीं किया।

<asp:ScriptManager ID="ScriptManager2" runat="server" ></asp:ScriptManager> 

साथ: जब तक मैं ToolkitScriptManager
बदलें साथ ScriptManager प्रतिस्थापित

<cc1:ToolkitScriptManager ID="ScriptManager2" runat="Server" /> 

मुझे यकीन है कि अगर यह नवीनतम उपकरण किट पर आवश्यकता है (दिसंबर 2013) नहीं कर रहा हूँ, लेकिन यह के लिए काम किया मुझे। उम्मीद है कि यह किसी और की भी मदद करेगा।

संबंधित मुद्दे