2012-03-09 5 views
0

私はASP.NETの初心者ですから、おそらく私の質問は簡単です...しかし、私は成功を収めずに多くの時間を無駄にしています。 (ajaxToolkit:AsyncFileUploadで開始)、ユーザーのアップロードが終了すると、私のページの
一部はupload_UploadedCompleteが呼び出され、UpdatePanelがリフレッシュしない

<asp:UpdatePanel ID="pnlFileUpload" runat="server"> 
    <ContentTemplate> 
     <ajaxToolkit:AsyncFileUpload ID="upload" runat="server" OnUploadedComplete="upload_UploadedComplete" 
      OnUploadedFileError="upload_UploadedFileError" UploaderStyle="Modern" UploadingBackColor="Yellow" 
      Width="400px" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:UpdatePanel ID="pnlFileError" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Label ID="lblFileError" runat="server" Text="errFile" Visible="false"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="upload" EventName="UploadedComplete" /> 
    </Triggers> 
</asp:UpdatePanel> 

です。
サンプルコードは次のとおりです。

protected void upload_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) 
{ 
    int size = upload.PostedFile.ContentLength; 
    if (size > maxsize) 
    { 
     lblFileError.Text = 'File too big...'; 
     lblFileError.ForeColor = System.Drawing.Color.Red; 
     lblFileError.Visible = true; 
     pnlFileError.Update(); 
    } 
} 

しかしlblFileErrorが示されることはありません...なぜ?!?

答えて

0

AsyncFileuploadは、UpdatePanelの(必要なAJAXツールキットのコントロールのどれも)を必要としません。彼らはそれが内蔵されているので。ファイルアップロードのUpdatePanelを削除し、再度テスト

あなたがこのような方法でそれを行うことができないようです。ユーザーはあなたが以下のように「ScriptManager.RegisterClientScriptBlock」を使用する必要がありますファイルのアップロードについてのメッセージを表示するようにAjaxControlToolkitSampleSiteに基づいて:私はなって

protected void upload_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) 
{ 
    int size = upload.PostedFile.ContentLength; 
    if (size > maxsize) 
    { 
     ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "error", "top.$get(\"" + lblFileError.ClientID + "\").innerHTML = 'File too big...';", true); 

    } 
} 
+0

それは、動作しません。 'AsyncFileUpload'は非常にうまくいきます:問題はアップロード後、' lblFileError'が 'UpdatePanel'の中で手動で更新されても表示されないことです。 – Marco

+0

あなたの投稿に感謝します。とにかく、このソリューションは私のprobemを解決しません:私は別のパネルを表示する必要がある場合は、ユーザーが何か他のことをさせる?私は解決策がなければならないことを知っています... – Marco

+0

申し訳ありません、それは私のために動作しません – Marco