2016-04-14 43 views
0

使用「ajaxToolKit:AsyncFileUpload」上傳圖片到我的應用程序:不能使用的ScriptManager的RegisterClientScriptBlock witgh AJAX AsyncFileUpload

<ajaxToolkit:AsyncFileUpload OnClientUploadError="uploadError" 
           OnClientUploadComplete="ajaxUploadImage_ClientUploadComplete" runat="server" 
           ID="ajaxUploadImage" Width="400px" UploaderStyle="Modern" 
           CompleteBackColor = "White" 
           UploadingBackColor="#CCFFFF" ThrobberID="imgLoader" 
           OnUploadedComplete = "ajaxUploadImage_OnUploadComplete" 
           OnClientUploadStarted="AssemblyFileUpload_Started" 
           /> 

是我想要的限制添加到圖像的用戶可以上傳量的問題,如果限制成功,從scriptManager激發'attachmentLimitReachedScript'彈出窗口,如果不能繼續......但是我說你不能使用ajax控件內部的腳本管理器...任何工作想法?

protected void ajaxUploadImage_OnUploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) 
     { 
      //attachment limit has not been reached, DO NOT UPLOAD IMAGES 
      if (hasUserReachedImageUploadLimit()) 
      { 
       return; 
      } 

      //attachment limit has not been reached, continue with other functionality 
} 

    protected bool hasUserReachedImageUploadLimit() 
     { 
      bool limitReached = false; 

      DataAccess.Classes.CheckPricePlan CheckCustomerAccountLimitations = new DataAccess.Classes.CheckPricePlan(); 
      string attachmentLimitReachedScript = CheckCustomerAccountLimitations.imageTableSize(currentUser.UserWorkspace.WorkSpaceID, currentUser.UserWorkspace.Organisation.ID); 
      //if attachmentLimitReachedScript != "AllowedToImage", attachment limit has been reached, display popUp 
      if (attachmentLimitReachedScript != "AllowedToAddAttachment") 
      { 
       attachmentLimitReachedScript += "(alert('end'));"; 
       string test = "(alert('start'));" + attachmentLimitReachedScript; 
       ScriptManager.RegisterClientScriptBlock(upViewUploadImages, upViewUploadImages.GetType(), "attachmentLimitReachedScript", test, true); 
       upViewUploadImages.Update(); 
       limitReached = true; 
      } 

      return limitReached; 
     } 

我已添加提醒(開始)和提醒(en d)腳本前後。這兩個警報顯示,我知道腳本不是問題,因爲我在同一頁上的其他地方調用它,並且它工作正常

回答

1

是的,沒有限制上傳文件數量的選項。

發生事件時,您可以用任何方式隱藏或中斷客戶端代碼的控制。

或者您可以設置Visible=false,所以服務器端OnPreRender()方法將不會被調用,並且控件將不會對發送文件做出反應。