繁体   English   中英

AJAX控件工具包TabContainer导致指定的参数超出有效值范围

[英]AJAX Control Toolkit TabContainer Throws Specified Argument Out of Range of Valid Values

我们正在使用Ajax控件工具包,并将UpdatePanel放置在页面中。 页面布局由母版页控制。 UpdatePanel包含许多服务器端控件。 启动UpdatetePanel的代码段为:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
        <asp:PostBackTrigger ControlID="btnSubmit" />
    </Triggers>

在UpdatePanel内部,存在一个TabContainer,其中包含许多服务器端控件。 后面的代码将其引用为:

        TabPanel TabPanel3 = new TabPanel();
    TabPanel3.HeaderText = "Manually Enter Allergy";
    TabContainer1.Controls.Add(TabPanel3);
    for (int k = 1; k <= 6; k++)
    {
        //CheckBox cb1 = new CheckBox();
        //cb1.ID = "cbOther" + k;
        TextBox txt = new TextBox();
        txt.ID = "txtAOther" + k;
        txt.CssClass = "finput";
        Literal lt = new Literal();
        lt.Text = "<br/>" + k + ".&nbsp;";
        //TabPanel3.Controls.Add(cb1);
        TabPanel3.Controls.Add(lt);
        TabPanel3.Controls.Add(txt);

    }

TabContainer的设置如下:

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">
</asp:TabContainer>

当我在本地运行此页面时,收到以下错误:

Description: An unhandled exception occurred during the execution of the current web 
request. Please review the stack trace for more information about the error and where 
it originated in the code. 


Exception Details: System.ArgumentOutOfRangeException: Specified argument was out of t
the range of valid values.
Parameter name: value

Source Error: 

An unhandled exception was generated during the execution of the current web request. 
Information regarding the origin and location of the exception can be identified 
using the exception stack trace below.

Stack Trace: 


[ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: value]
AjaxControlToolkit.TabContainer.set_ActiveTabIndex(Int32 value) +255
AjaxControlToolkit.TabContainer.OnInit(EventArgs e) +121
System.Web.UI.Control.InitRecursive(Control namingContainer) +605
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Control.InitRecursive(Control namingContainer) +323
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean   
includeStagesAfterAsyncPoint) +2238

我很难理解为什么会引发错误。 初始搜索无法产生明确的行动过程。 任何人都可以提供一些有关如何纠正该错误的指导吗?

我猜想在ASPX中您没有TabPanels。 这就是您收到该错误的原因,因为索引0在填充PageLoad中的选项卡之前是无效的。

摆脱标记中的ActiveTabIndex = 0,然后以编程方式添加完选项卡后,在其中调用它:

TabContainer1.ActiveTabIndex=0;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM