我有一个大表格,上面有几个按钮。它们的目的是显示/隐藏页面的各个部分(包含在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
答案 0 :(得分:1)
验证器导致了问题。我在面板中的字段上添加了验证器,当不满足此验证器时,页面上没有任何按钮可以工作。