3

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

パネルとボタンの両方のコントロールを取得していますが、コードは次のエラーメッセージを生成します -

「Panel1」の DefaultButton は、タイプ IButtonControl のコントロールの ID でなければなりません。

ClientID の代わりに UniqueID を使用してみましたが、それでも同じ問題が発生します。

このエラーをどのように修正できますか? 時間を共有していただきありがとうございます。

4

2 に答える 2

2

ClientIDと を試したとあなたが言ったことは知っていますがUniqueID、私はそれを使用UniqueIDしましたが、うまくいきました。

于 2013-07-23T01:15:57.200 に答える
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" またはリンクまたはボタンを設定できます。

于 2016-09-02T07:22:34.493 に答える