获取向导的SideBarTemplate内的控件

时间:2014-05-12 12:10:51

标签: c# asp.net

我正在使用asp.net向导控件,我的SideBarTemplate里面有一个datalist,我在Wizard控件上有一个按钮,我想在按钮点击时访问datalist  这是我的向导控制

<asp:Wizard ID="Wizard1" runat="server" OnFinishButtonClick="Wizard1_FinishButtonClick"
            FinishCompleteButtonText="Submit" OnNextButtonClick="Wizard1_NextButtonClick"
            OnPreviousButtonClick="Wizard1_PreviousButtonClick" StepStyle-CssClass="WizardRightPart"
            CssClass="WizardContainer" ActiveStepIndex="0">
            <SideBarStyle CssClass="WizardLeftPart" Height="620" />

  <StartNavigationTemplate>
                <table class="WizardButtonRow" cellspacing="0">
                    <tr>
                        <td align="left">
                            <asp:Button ID="btnSaveExit" runat="server" SkinID="ANHButton2" Text="Save & Exit"
                                CausesValidation="true" OnClick="btnSaveExit_Click" />
                        </td>

                    </tr>
                </table>
            </StartNavigationTemplate>

<SideBarTemplate>
    <asp:DataList runat="server" ID="SideBarList" OnItemDataBound="SideBarList1_ItemDataBound"
                    SelectedItemStyle-Width="100%">
                    <ItemTemplate>
                        <asp:LinkButton runat="server" ID="SideBarButton" class="SideBarLinkItem" CausesValidation="false" />
                    </ItemTemplate>
                </asp:DataList>
</SideBarTemplate>
    </asp:Wizard>

我试过这个

Wizard1.FindControl("SideBarTemplate")

它正在访问它sidebartemplate,但它没有FindControl的方法 也尝试了这个,但它出现了空

Wizard1.FindControl("SideBarTemplate$SideBarList")

我也尝试了这个,但仍然是空的

Page.FindControl("Wizard1$SideBarTemplate$SideBarList") 

1 个答案:

答案 0 :(得分:1)

Table wizardTable = Wizard1.ActiveStep.Parent.Parent.Parent.Parent.Parent.Parent.Parent as Table;
DataList sideBarList = wizardTable.Rows[0].Cells[0].FindControl("SideBarList") as DataList;

Wizard控制是令人讨厌的。