【问题标题】:AJAX Control Toolkit TabContainer Throws Specified Argument Out of Range of Valid ValuesAJAX 控件工具包 TabContainer 将指定的参数抛出有效值范围之外
【发布时间】:2013-08-01 06:18:17
【问题描述】:

我们正在使用 Ajax 控件工具包并在页面中放置了一个 UpdatePanel。页面布局由母版页控制。 UpdatePanel 包含许多服务器端控件。启动UpdatetePanel的代码sn-p是:

<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

我很难理解为什么会抛出错误。最初的搜索不会产生明确的行动方案。谁能提供一些关于如何纠正错误的指导?

【问题讨论】:

  • 错误是指设置ActiveTabIndex。你是在什么地方设置的吗?
  • 是的。请查看更新后的帖子。谢谢。

标签: c# asp.net ajaxcontroltoolkit


【解决方案1】:

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

去掉标记中的 ActiveTabIndex=0,然后在以编程方式添加选项卡后,在此处调用它:

TabContainer1.ActiveTabIndex=0;

【讨论】:

    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多