本文介绍了如何访问一个asp.net向导HeaderTemplate中内部控制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这code要解决有一个向导,一步冠军时,向导财产 DisplaySideBar ,不会工作中,标签 LBL

 保护无效Wizard1_ActiveStepChanged(对象发件人,EventArgs的发送)
{
//抢在标签控件的引用
标签LBL =(标签)Wizard1.FindControl(lblStepTitle);
lbl.Text = Wizard1.ActiveStep.Title;
}

中的HTML(ommited向导步骤):

 < ASP:精灵ID =Wizard1=服务器ActiveStepIndex =0DisplaySideBar =FALSE
OnActiveStepChanged =Wizard1_ActiveStepChanged
            OnNextButtonClick =Wizard1_NextButtonClick
            OnFinishButtonClick =Wizard1_FinishButtonClick>
            < HeaderStyle Horizo​​ntalAlign =中心字体粗体=真/>
            <&HeaderTemplate中GT;
                编辑用户向导
                < BR />
                < BR />
                < ASP:标签ID =lblStepTitle=服务器文本=步骤标题>< / ASP:标签>
            < / HeaderTemplate中>
< / ASP:精灵>


解决方案

此的,解决的办法是先找到 HeaderContainer 在运行时创建一个控制任何地方通过的

 保护无效Wizard1_ActiveStepChanged(对象发件人,EventArgs的发送)
{
    //抢在标签控件的引用
    标签LBL =(标签)Wizard1.FindControl(HeaderContainer)的FindControl(lblStepTitle);
    lbl.Text = Wizard1.ActiveStep.Title;
}

This code to workaround having a wizard step title when wizard property DisplaySideBar is False, will not work, the label lbl will be null:

protected void Wizard1_ActiveStepChanged(object sender, EventArgs e)
{
// Grab a reference to the label control
Label lbl = (Label)Wizard1.FindControl("lblStepTitle");
lbl.Text = Wizard1.ActiveStep.Title;
}

The HTML (ommited the wizard steps):

<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="0" DisplaySideBar="False"
OnActiveStepChanged="Wizard1_ActiveStepChanged"
            OnNextButtonClick="Wizard1_NextButtonClick" 
            OnFinishButtonClick="Wizard1_FinishButtonClick">
            <HeaderStyle HorizontalAlign="Center" Font-Bold="True" />
            <HeaderTemplate>
                Edit User Wizard
                <br />
                <br />
                <asp:Label ID="lblStepTitle" runat="server" Text="Step Title"></asp:Label>
            </HeaderTemplate>
</asp:Wizard>
解决方案

From this blog, the solution is to first find a control created at runtime HeaderContainer no where documented by the MSDN page

protected void Wizard1_ActiveStepChanged(object sender, EventArgs e)
{
    // Grab a reference to the label control
    Label lbl = (Label)Wizard1.FindControl("HeaderContainer").FindControl("lblStepTitle");
    lbl.Text = Wizard1.ActiveStep.Title;
}

这篇关于如何访问一个asp.net向导HeaderTemplate中内部控制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 20:34