2016-04-14 13 views
0

witghのScriptManagerあるRegisterClientScriptBlockを使用傾けるは」ajaxToolKitを使用した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' popUpを起動してください。続行しないでください...しかし、私は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)スクリプトの前後。両方の警告が表示されていると私は同じページ上の他の場所でそれを呼び出すので、スクリプトis not問題を知っているとうまく動作します

答えて

1

はい、アップロードするファイルの数を制限するオプションはありません。

OnClientUploadCompleteイベントが発生すると、クライアントコードのコントロールを何らかの方法で非表示にすることも、中断することもできます。

Visible=falseを設定すると、サーバ側のOnPreRender()メソッドが呼び出されず、制御がファイルの送信に反応しなくなります。

関連する問題