ユーザーがログインしたときに、ログインコントロールに「Loading...」gifが表示されるようにしたいと思います。
ログインコントロールに希望どおりに表示させるために、テンプレートに変換しました。次に、ここに表示されているガイダンスに従いました。こことここで、ポストバック中にgifを表示します。
しかし、私は今、いくつかの問題を抱えています。無効なログインをサミングしようとすると、ページは想定どおりに動作します。読み込み中のgifが表示され、ログインが無効であると判断された後、gifが消えます。しかし、有効なログインを入力しても、無効であると表示されます。ログインテンプレートを編集したときに何かを台無しにしましたか?
私の他の問題は、「keepLogged」チェックボックスが定型化されていることです。このスタイルは、JQueryによってヘッドに追加されています。最初にページにアクセスしたときに正しく表示されますが、ポストバック後、ログインが無効であると表示された場合、スタイルは適用されず、通常のチェックボックスになります。
コードは次のとおりです。
<script>
$(document).ready(function () {
$("input[type=checkbox]").addClass("mini-switch");
});
</script>
<form id="form1" runat="server" class="form with-margin" name="login-form">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="updateLogin" runat="server" DefaultButton="mainLogin$LoginButton">
<ContentTemplate>
<asp:Login ID="mainLogin" runat="server" RenderOuterTable="False" onloginerror="mainLogin_LoginError">
<LayoutTemplate>
<div class="block-header">Please login</div>
<asp:ValidationSummary ID="LoginUserValidationSummary" runat="server"
ValidationGroup="mainLogin" CssClass="message error no-margin"
DisplayMode="List"/>
<input type="hidden" name="a" id="a" value="send">
<p class="inline-small-label">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName"><span class="big">User name</span></asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass='full-width'></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server"
ControlToValidate="UserName" ErrorMessage="User Name is required."
ToolTip="User Name is required." ValidationGroup="mainLogin"
Display="None" />
</p>
<p class="inline-small-label">
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password"><span class="big">Password</span></asp:Label>
<asp:TextBox ID="Password" runat="server" TextMode="Password" CssClass='full-width'></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server"
ControlToValidate="Password" ErrorMessage="Password is required."
ToolTip="Password is required." ValidationGroup="mainLogin"
Display="None" />
</p>
<asp:Button ID="LoginButton" runat="server" CommandName="Login"
Text="Log In" type="button"
ValidationGroup="mainLogin" onclick="LoginButton_Click" CSSClass='button float-right'/>
<p class="input-height">
<asp:CheckBox ID="keepLogged" runat="server" Checked="True"/>
<asp:Label ID="Label1" runat="server" Text="Keep me logged in" AssociatedControlID="keepLogged" CssClass="inline"></asp:Label>
</p>
</LayoutTemplate>
</asp:Login>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<img alt="" src="images/lock.gif" /> <strong>Logging In...</strong>
</ProgressTemplate>
</asp:UpdateProgress>
</form>
助けてくれてありがとう。