按钮只能工作一次,然后打破页面上的所有其他按钮

时间:2014-09-04 09:20:02

标签: c# asp.net

我有一个大表格,上面有几个按钮。它们的目的是显示/隐藏页面的各个部分(包含在UpdatePanels中)。它们都使用相同的私有方法来执行此操作(将按钮和面板作为参数)。然而,我的两个按钮表现得与其他按钮不同。其中一个人什么都没做。另一个工作一次,但从那时起停止所有按钮工作。 如果按下该按钮,除非重新加载页面(通过调试检查),否则不会调用按钮的onClick方法。

我的按钮会破坏所有内容及其面板:

<asp:Button ID="btnBtCBerigelse" runat="server" Text="Vis" onClick="btnBtCBerigelse_Click"/>
<asp:Panel ID="pnlBtCBerigelse" runat="server" Visible="false" BorderColor="#99CCFF" BorderStyle="Solid">
   Content of panel
</asp:Panel>

该按钮的onClick方法(在.cs文件中):

protected void btnBtCBerigelse_Click(object sender, EventArgs e)
    {
        visSkjul(btnBtCBerigelse, pnlBtCBerigelse);
    }

第一次单击该按钮时会调用此方法,但之后不会调用此方法。

它和其他按钮的方法调用的方法(在相同的.cs文件中):

private void visSkjul(Button btn, Panel pnl)
    {
        if (pnl.Visible)
        {
            pnl.Visible = false;
            btn.Text = "Vis";
        }
        else
        {
            pnl.Visible = true;
            btn.Text = "Skjul";
        }
    }

另一个按钮,应该是相同的,但在btnBtCBerigelse按钮被点击一次之前效果很好:

<asp:Button ID="btnBtCEmne" runat="server" Text="Vis" onclick="btnBtCEmne_Click" />
<asp:Panel ID="pnlBtCEmne" runat="server" Visible="false" BorderColor="#99CCFF" BorderStyle="Solid">
    Content of panel
</asp:Panel>

有效按钮的方法:

protected void btnBtCEmne_Click(object sender, EventArgs e)
    {
        visSkjul(btnBtCEmne, pnlBtCEmne);
    }

它调用与其他按钮相同的私有方法。

打破一切的按钮甚至会破坏我页面上的“保存”按钮,“保存”不会使用任何面板或该私有方法。

单击此特定按钮时会发生什么,而其他所有按钮都不会发生?该页面之前有效,除了添加xml文档之外,我认为我没有改变任何东西(但这不应该改变任何东西,对吧?)。

google docs文档中的页面和.cs文件的代码:https://docs.google.com/document/d/1HhtSq5nXBio09pSBRsBWQbOM9m6Hr5wrNqhJ0O5Yf6s/edit?usp=sharing

1 个答案:

答案 0 :(得分:1)

验证器导致了问题。我在面板中的字段上添加了验证器,当不满足此验证器时,页面上没有任何按钮可以工作。