我在一个PANEL中包含的LoginView控件中放置了一个Login控件。我想将登录按钮设置为此面板的默认按钮。在设计视图中无法设置默认按钮。所以我想尝试使用代码设置它。
以下是代码:
protected void SetDefaultButtonForLoginControl()
{
Login loginCtrl = (Login)LoginView1.FindControl("Login1");
Panel panel1 = (Panel)LoginView1.FindControl("Panel1");
if (loginCtrl != null)
{
Button btn = (Button)loginCtrl.FindControl("btnLogin");
if (btn != null)
{
panel1.DefaultButton = btn.ClientID;
}
}
}
我正在获取控件,即Panel和Button,但代码会生成以下错误消息 -
'Panel1'的DefaultButton必须是IButtonControl类型的控件的ID。
我也尝试使用UniqueID而不是ClientID,但仍然存在同样的问题。
任何人都可以帮助我,如何纠正这个错误?谢谢你分享你的时间。
答案 0 :(得分:1)
我知道你说过你曾尝试ClientID
和UniqueID
,但是我使用UniqueID
并且它对我有用。
答案 1 :(得分:0)
如果您在登录模板中移动面板: -
<asp:login id="Login2" runat="server" loginbuttontype="Image">
<layouttemplate>
<asp:`enter code here`panel id="Panel1" runat="\
server"defaultbutton="LoginImageButton">
</asp:Panel>
然后它将无法使用代码。您可以根据需要设置loginbuttontype =“Image”或链接或按钮。