0

ログイン コントロールにデフォルト ボタンを設定しようとしています。同様の質問をいくつか読んだ後、ログイン コントロール ID を使用してパネルのデフォルト ボタンについて学びました。

<asp:Panel runat="server" ID="pnlLogin" DefaultButton="LoginUser$LoginButton">

これは単純な logincontrols では問題なく動作しますが、私のログイン コントロールでは動作しません。レイアウト テンプレートを使用することと関係があると考えています。機能しない理由を誰か教えてください。

私のログイン:

<asp:Panel runat="server" ID="pnlLogin" DefaultButton="LoginUser$LoginButton">
<asp:Login ID="LoginUser" runat="server" EnableViewState="False" Width="371px">
    <LayoutTemplate>
        <span class="failureNotification">
            <asp:Literal ID="FailureText" runat="server"></asp:Literal>
        </span>
        <asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification" 
             ValidationGroup="LoginUserValidationGroup"/>

            <table width="100%" border="0">                
                <tr>
                    <td style="width: 95px; height: 30px;">
                        <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Brugernavn:</asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox><asp:RequiredFieldValidator
                            ID="UserNameRequired" runat="server" ControlToValidate="UserName" CssClass="failureNotification"
                            ErrorMessage="Brugernavn kræves udfyldt" ToolTip="Brugernavn kræves udfyldt"
                            ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>                        
                        <td style="width: 95px; height: 30px;">
                            <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Adgangskode:</asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                                CssClass="failureNotification" ErrorMessage="Adgangskode kræves udfyldt" ToolTip="Adgangskode kræves udfyldt"
                                ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                        </td>                       
                </tr>
                <tr>
                    <td style="width: 95px; height: 50px;" valign="bottom">
                        <asp:LinkButton runat="server" ValidationGroup="LoginUserValidationGroup" CommandName="Login"
                            ID="LoginButton" CssClass="button">Log ind</asp:LinkButton>
                    </td>
                    <td style="height: 50px;" valign="bottom">
                        <asp:CheckBox ID="RememberMe" runat="server" />
                        <asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">Husk mig, når jeg kommer tilbage</asp:Label>
                    </td>
                </tr>                             
            </table>


                <br />
            <br />

    </LayoutTemplate>
</asp:Login>
</asp:Panel>     
4

1 に答える 1

1

LinkBut​​ton をデフォルトのボタンとして使用することはできません

MSDN Panel.DefaultButton プロパティから

DefaultButton は、Button コントロール、または LinkBut​​ton コントロール以外の IButtonControl インターフェイスを実装する任意のコントロールの識別子に設定できます。

于 2011-08-22T09:00:18.903 に答える