2013-01-24 4 views
6

आग नहीं करता है मैं पाने के लिए है कि AjaxFileUpload -Control (ContentPage में प्रयुक्त) काम कर कोशिश कर रहा हूँ। लेकिन यह OnUploadComplete आग नहीं है सर्वर की ओरAjaxFileUpload OnUploadComplete घटना

मैं कंट्रोलटूलकिट के संस्करण 4.1.60919.0 का उपयोग कर रहा हूं। मैंने इंटरनेट पर जो कुछ भी पाया है, मैंने कोशिश की है।

यहाँ बस कुछ ही कदम:

  • जोड़ा गया enctype = "बहुखण्डीय/फार्म-डेटा" विधि = मेरे masterpage
  • नेस्टेड AjaxFileUpload में प्रपत्र-तत्व के लिए "पोस्ट" UpdateMode साथ एक UpdatePanel में = हमेशा
  • की कोशिश की घटनाओं UploadedComplete और OnUploadComplete, लेकिन दूसरा एक
  • eventhandler में एक कोशिश पकड़ ब्लॉक जोड़ा अज्ञात अपवाद को पकड़ने और साइट पर एक लेबल के लिए ExceptionMessage मुद्रित करने के लिए में रुके थे -> कुछ भी नहीं
  • हुआ
  • (बाहर) एक ThrobberImage साथ यह कोशिश की ...
  • कई अन्य tipps बात नहीं बनी ...

तो, मैं उम्मीद है कि हम इस समुदाय में एक साथ एक समाधान मिल जाएगा। यहाँ मेरा मार्कअप:

<%@ Page Title="New Download" Language="C#" MasterPageFile="~/MasterPage.master"  AutoEventWireup="true" CodeFile="NewDownload.aspx.cs" Inherits="Internals_NewDownload" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> 

<ajax:ToolkitScriptManager ID="ToolkitscriptManager" runat="server"> </ajax:ToolkitScriptManager> 
<h1>Create a new Download</h1> 

     <ajax:AjaxFileUpload ID="FileUpload" runat="server" ThrobberID="ThrobberLabel" OnUploadComplete="FileUpload_UploadComplete" /> 
     <asp:Label ID="ThrobberLabel" runat="server" Style="display: none;"><img alt="UploadingPicture" title="Please wait while uploading..." src='<%= Constants.DomainString + "/Data/Images/loading-small.gif" %>' /></asp:Label> 
     <asp:Label ID="DownloadLabel" runat="server"></asp:Label> 

</asp:Content> 

और ये मेरे codebehind है:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Internals_NewDownload : System.Web.UI.Page 
{ 
private string m_LanguageCode; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (RouteData.Values.ContainsKey("LanguageCode")) 
     m_LanguageCode = RouteData.Values["LanguageCode"].ToString(); 

    //if (IsPostBack) 
    // return; 
    if (!User.IsInRole("Administrator") && !User.IsInRole("Kunde") && !User.IsInRole("Mitarbeiter")) 
     Response.Redirect(Constants.DomainString + "/PermissionDenied.aspx"); 
    Session[Constants.NonGlobalizedString] = true; 
    Session[Constants.MenuInfoSession] = new ClsMenuInfo("NewDownload"); 
} 

protected void FileUpload_UploadComplete(object sender,  AjaxControlToolkit.AjaxFileUploadEventArgs e) 
{ 
    try 
    { 
     string filePath = "~/upload/" + e.FileName; 
     DownloadLabel.Text = filePath; 
    } 
    catch (Exception ex) 
    { 
     DownloadLabel.Text = ex.Message; 
    } 
} 
} 

कृपया, अगर आप किसी भी विचार है, मुझे यह पता है संकोच नहीं करते। मैं पहले से बहुत उलझन में के रूप में मुझे लगता है कि है कि मैं सिर्फ इतना है कि howtos मैं इंटरनेट पर पाया में किया था हूँ ...

धन्यवाद!

उत्तर

0

ध्यान रखें कि AjaxFileUpload नियंत्रण contextkey अपने पोस्टबैक का पता लगाने के लिए QueryString पैरामीटर का उपयोग करें। मेरा मानना ​​है कि आपके मुद्दे का कारण यह है कि यूआरएल को फिर से लिखने के परिणामस्वरूप यह पैरामीटर खो गया है। मैं मार्ग को लागू करने में विशेषज्ञ नहीं हूँ, लेकिन मेरी राय में आप टेबल मार्ग में contextkey पैरामीटर रजिस्टर और AjaxControlToolkit सूत्रों tweak यह मूल्य पुन: प्राप्त करने के लिए RouteData बजाय Request.QueryString उपयोग करने के लिए की जरूरत है। AjaxControlToolkit Source Code

+0

हाय, इस सुझाव के लिए धन्यवाद: अधिक जानकारी के लिए इस लिंक की जाँच करें। मैंने बस निम्नलिखित की कोशिश की। मैंने पहली दो पंक्तियों को हटा दिया जो रूटडेटा-संग्रह से भाषाकोड पढ़ रहे हैं। इसके बाद मैं देशी पथ (/Internals/de/NewDownload.aspx के बजाय /Internals/NewDownload.aspx) द्वारा पृष्ठ खोला है, लेकिन समस्या अभी भी मौजूद। घटना को निकाल दिया नहीं जाता है ... :-( बस बीटीडब्ल्यू: इस वेबसाइट पर एक टिप्पणी के रूप में या मेरे प्रश्न के लिए एक नई पोस्ट के रूप में उत्तर देने का मतलब है? – Roland

+0

@ रोलैंड उत्तर पर टिप्पणी पोस्ट करना ठीक है साथ ही, क्यों लगता है कि 'अपलोडकंपलेट' ईवेंट नहीं निकाल दिया गया है? क्या आपने 'FileUpload_UploadComplete' विधि पर ब्रेकपॉइंट सेट करने का प्रयास किया था? चेतावनी दी जानी चाहिए कि' डाउनलोड लेबल 'टेक्स्ट अपलोडकंपलेट ईवेंट हैंडलर पर अपडेट नहीं किया जाएगा, भले ही ईवेंट –

+0

I निकाल दिया गया हो। केवल डाउनलोड लेबल पर एक नज़र डालने का परीक्षण किया ... इसे अपडेट क्यों नहीं किया जाना चाहिए? – Roland

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