1

我有一个被 UpdatePanel 包围的向导控件,并且我希望在完整步骤中使用 FileUpload 控件。我知道,如果将触发器添加到 UpdatePanel,则 FileUpload 控件只能在 UpdatePanel 内工作,但是,我的 UpdatePanel 在下面的示例中找不到 Button1 控件。我相信这只是完成步骤的一个“功能”。在 Complete 步骤中是否有另一种方法(最好是简单的方法)?

<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>
4

1 回答 1

3

好的,在浏览了几个小时的互联网后,我找到了解决方案。需要的是向导完成步骤中的另一个嵌套 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" 。

我希望将来有人会觉得这很有帮助。

于 2013-08-01T20:54:24.767 回答