2010-06-28 61 views
3

我有一個登錄控制放置在一個PANEL內包含的LoginView控件。我想將登錄按鈕設置爲此面板的默認按鈕。在設計視圖中不可能設置默認按鈕。所以我試圖用代碼來設置它。」「Panel1」的DefaultButton必須是IButtonControl類型的控件的ID。「錯誤在asp.net

下面是代碼:

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; 
     } 
    } 
} 

我得到兩個控件,即面板和按鈕,但代碼生成以下錯誤消息 -

「的Panel1」的defaultButton必須的IButtonControl類型的控件的ID。

我也嘗試使用UniqueID而不是ClientID,但仍然是同樣的問題。

任何人都可以幫我解決這個錯誤怎麼解決嗎?感謝您分享您的時間。

回答

1

我知道你說過你試過ClientIDUniqueID,但是我用UniqueID,它對我很有用。

0

如果將登錄的模板中的面板: -

<asp:login id="Login2" runat="server" loginbuttontype="Image"> 
<layouttemplate> 
<asp:`enter code here`panel id="Panel1" runat="\ 
server"defaultbutton="LoginImageButton"> 
</asp:Panel> 

然後,它會沒有代碼工作。您可以根據您的要求設置loginbuttontype =「圖像」或鏈接或按鈕。

相關問題