我有两个表单,每个表单都有按钮,我用两个面板抽象它们所以当按下每个面板中的键时,会发出正确的按钮。 在一个面板中我有登录表单
<asp:Panel ID="pnlRegistered" runat="server" DefaultButton="btnLoginButton">
<LayoutTemplate>
<asp:Button ID="btnLoginButton" runat="server" CommandName="Login" Text="Login" ValidationGroup="Login1" OnClick="btnLoginButton_Click" ClientIDMode="Static" />
</LayoutTemplate>
<asp:Panel>
但我得到例外
System.InvalidOperationException
The DefaultButton of 'pnlRegistered' must be the ID of a control of type IButtonControl.
答案 0 :(得分:2)
您缺少DefaultButton的值:
<asp:Panel ID="pnlRegistered" runat="server" DefaultButton="btnLoginButton">
<asp:Button ID="btnLoginButton" runat="server" CommandName="Login" Text="Login" ValidationGroup="Login1" OnClick="btnLoginButton_Click" ClientIDMode="Static" />
<asp:Panel>
编辑:你也可以在代码隐藏中设置DefaultButton,如下所示:
pnlRegistered.DefaultButton = btnLoginButton.UniqueID;
答案 1 :(得分:1)
将您的面板放在登录控件的layouttemplate
<asp:Login ID="Login1" runat="server">
<LayoutTemplate>
<asp:Panel ID="pnlRegistered" runat="server" DefaultButton="btnLoginButton">
<asp:Button ID="btnLoginButton" runat="server" CommandName="Login" Text="Login" ValidationGroup="Login1"
ClientIDMode="Static" />
</asp:Panel>
</LayoutTemplate>
</asp:Login>