2013-08-01 22 views
1

我有一個用UpdatePanel環繞的嚮導控件,我想在整個步驟中使用FileUpload控件。我知道如果將一個觸發器添加到UpdatePanel中,FileUpload控件只能在UpdatePanel中工作,但是,我的UpdatePanel在下面的示例中找不到Button1控件。我相信這只是完整步驟的一個「特徵」。是否有另一種方法(最好是簡單的方法)在完成步驟內完成此操作?我可以在UpdatePanel包圍的嚮導的Complete步驟中有FileUpload控件嗎?

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> 
     <asp:PostBackTrigger ControlID="Button1" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Wizard ID="Wizard1" runat="server"> 
      <WizardSteps> 
       <asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1"> 
       </asp:WizardStep> 
       <asp:WizardStep ID="WizardStep2" runat="server" Title="Step 2" StepType="Complete"> 
        <asp:FileUpload ID="FileUpload1" runat="server" /> 
        <asp:Button ID="Button1" runat="server" Text="Button" /> 
       </asp:WizardStep> 
      </WizardSteps> 
     </asp:Wizard> 
    </ContentTemplate> 
</asp:UpdatePanel> 

回答

3

好吧,瀏覽互聯網了幾個小時後,我找到了解決方案。需要的是在Wizard Complete中的另一個嵌套UpdatePanel,在Button1上有一個PostBackTrigger,在外部UpdatePanel上有一個匹配的PostBackTrigger。

類似如下:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> 
     <asp:PostBackTrigger ControlID="Button1" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Wizard ID="Wizard1" runat="server"> 
      <WizardSteps> 
       <asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1"> 
       </asp:WizardStep> 
       <asp:WizardStep ID="WizardStep2" runat="server" Title="Step 2" StepType="Complete"> 
        <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
         <Triggers> 
          <asp:PostBackTrigger ControlID="Button1" /> 
         </Triggers> 
         <ContentTemplate> 
          <asp:FileUpload ID="FileUpload1" runat="server" /> 
          <asp:Button ID="Button1" runat="server" Text="Button" /> 
         <ContentTemplate/> 
        <UpdatePanel/> 
       </asp:WizardStep> 
      </WizardSteps> 
     </asp:Wizard> 
    </ContentTemplate> 
</asp:UpdatePanel> 

而且,你會發現你上傳的文件第一次你的控制沒有文件。我不知道原因,但是您的表單標籤上可能需要enctype =「multipart/form-data」。

我希望有人發現這對未來有幫助。

+0

我採取了回來......它似乎不需要外部觸發器。只是內部UpdatePanel內的觸發器。 – sourkrause

相關問題