私はうまくいく解決策を見つけました!
このページに、次のようなCustomValidatorを追加します。
<asp:CustomValidator id="vldLoginFailed" runat="server" ErrorMessage="Login failed. Please check your username and password." ValidationGroup="loginControl" Visible="false"></asp:CustomValidator>
また、次のようなValidationSummaryもあります。
<asp:ValidationSummary id="ValidationSummary" ValidationGroup="loginControl" runat="server" DisplayMode="BulletList" CssClass="validationSummary" HeaderText="Please check the following"></asp:ValidationSummary>
ログインコントロールで、OnLoginErrorにメソッドを追加したので、次のようになります。
<asp:Login ID="loginControl" runat="server" VisibleWhenLoggedIn="false" OnLoginError="loginControl_LoginError">
コードビハインドでは、ログインエラーが発生したときにトリガーされるメソッドを作成します。これは次のようになります。
protected void loginControl_LoginError(object sender, EventArgs e)
{
CustomValidator vldLoginFailed = (CustomValidator)loginControl.FindControl("vldLoginFailed");
vldLoginFailed.IsValid = false;
}
したがって、ログインエラーが発生すると、loginControl_LoginErrorメソッドが呼び出されます。CustomValidatorを検出し、IsValidをfalseに設定します。CustomValidatorは検証グループ「loginControl」に属しているため、そのエラーメッセージがValidationSummaryに表示されます。