ASP.NET表在回发后导致500错误

ASP.NET表在回发后导致500错误,asp.net,ajax,Asp.net,Ajax,你好!我花了好几个小时想弄明白这个问题,现在我需要一些帮助 我有一个ASP.NET AjaxToolKitTabContainer,它有四个子项TabPanel。每个子级都有自己的UpdatePanel,因此我可以在每个面板中运行逻辑,而无需重新加载所有内容(AJAX) 我的问题是: 在我的第二个选项卡panel中,我有一些如下的标记: <div id="ProgramMilestonesDiv" style="margin-left: 6px;"> <asp:Tabl

你好!我花了好几个小时想弄明白这个问题,现在我需要一些帮助

我有一个ASP.NET AjaxToolKit
TabContainer
,它有四个子项
TabPanel
。每个子级都有自己的
UpdatePanel
,因此我可以在每个面板中运行逻辑,而无需重新加载所有内容(AJAX)

我的问题是:

在我的第二个
选项卡panel
中,我有一些如下的标记:

<div id="ProgramMilestonesDiv" style="margin-left: 6px;">
    <asp:Table ID="ProgramMilestonesTable" runat="server" Visible="true">
    </asp:Table>
</div>
 public static void AddVariableCostRowToTable(Table TargetTable, string CostArea, string CostType, Extender Extender)
    {
        string[] quarters = { "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12" };

        TableRow row = new TableRow(); // New row we'll add to table.

        // First cell is just the name of the cost.
        TableCell cell = new TableCell();
        Label label = new Label();
        label.Width = new Unit(175);
        label.Text = CostType.Replace('_', ' ') + ":";
        cell.Controls.Add(label);
        row.Controls.Add(cell);

        // Create all the textboxes for the individual quarters.
        foreach (string q in quarters)
        {
            row.Controls.Add(CreateNewCellWithTextBox(CostArea, CostType, q, Extender));
        }

        TargetTable.Controls.Add(row); // Add the row to the table.
    }

 public static TableCell CreateNewCellWithTextBox(string CostArea, string CostType, string Quarter, Extender Extender)
    {
        TableCell cell = new TableCell();
        TextBox textbox = new TextBox();

        textbox.ID = CostArea + CostType + Quarter; // string
        textbox.Width = new Unit(65); // Pixels wide.
        textbox.Text = "";
        if (Extender == Extender.MASKED_EDIT_EXTENDER) textbox.Text = "0"; // Only initialize to 0 if textbox is for money.
        textbox.Style.Add(HtmlTextWriterStyle.TextAlign, "right");
        textbox.ClientIDMode = ClientIDMode.Static;

        cell.Controls.Add(textbox);

        if (Extender == Extender.MASKED_EDIT_EXTENDER) // If calling routine wanted a $$$ filter on the textbox.
        {
            // Add an ajaxtoolkit extender so we can enforce currency formatting.
            MaskedEditExtender extender = new MaskedEditExtender();
            extender.ID = "MaskedEditExtender" + textbox.ID;
            extender.TargetControlID = textbox.ID;
            extender.Mask = "999999";
            extender.OnFocusCssClass = "MaskedEditFocus";
            extender.MaskType = MaskedEditType.Number;
            extender.InputDirection = MaskedEditInputDirection.RightToLeft;
            extender.AcceptNegative = MaskedEditShowSymbol.Left;
            extender.DisplayMoney = MaskedEditShowSymbol.Left;

            cell.Controls.Add(extender);
        }

        return cell;
    }

谢谢

结果是,我在一次回发中超过了允许的控制数量

您可以在此处阅读:

我使用这个web.config设置来增加它:

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
</appSettings>

我是否应该使用那么多控件是一个完全不同的问题

我通过删除页面上的其他内容解决了这个问题。当我这么做的时候,它又开始工作了

这几乎把我逼到了精神错乱的边缘。万岁