atlasクライアントページサイクルイベントおよび実践:クライアント検証
9509 ワード
原文:
劉武 |
atlasクライアントページサイクルイベントおよび実践:クライアント検証
みんな知ってるNetページにはサービス側のサイクルイベントが多く、atlasの発売に伴い、マイクロソフトはクライアントのサイクルイベントをさらに導入した.主に以下のものを含む initializeRequest ページ初期化前 に発生する. beginRequestは、データの送信前に に発生する. pageLoadingコミット実行時 に発生する. pageLoadedは、コミットが完了し、ページがリフレッシュする後の に発生する. endRequestは、動作全体が完了する後、 に発生する.
本編では、筆者のプロジェクト経験に基づき、これらのイベントの主な用途をまとめた.
クライアント認証
クライアント検証は、サーバにデータを送信する前に、BSシステムで不可欠な操作です.したがって、initializeRequestイベントでこの操作を完了することができます.次の例では、ログインボタンをクリックするときに他の操作が行われているかどうかを確認してから、ユーザー名とパスワードが空であるかどうかを確認し、通過したらサービス側に提出します.そうしないと、リクエストをキャンセルします.
ASP.NET-Code:
劉武 |
atlasクライアントページサイクルイベントおよび実践:クライアント検証
みんな知ってるNetページにはサービス側のサイクルイベントが多く、atlasの発売に伴い、マイクロソフトはクライアントのサイクルイベントをさらに導入した.主に以下のものを含む
本編では、筆者のプロジェクト経験に基づき、これらのイベントの主な用途をまとめた.
クライアント認証
クライアント検証は、サーバにデータを送信する前に、BSシステムで不可欠な操作です.したがって、initializeRequestイベントでこの操作を完了することができます.次の例では、ログインボタンをクリックするときに他の操作が行われているかどうかを確認してから、ユーザー名とパスワードが空であるかどうかを確認し、通過したらサービス側に提出します.そうしないと、リクエストをキャンセルします.
ASP.NET-Code:
<form id="form1" runat="server">
<asp:ScriptManager ID="sm1" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(CheckInput);
function CheckInput(sender,args)
{
var pass=true;
var prm = Sys.WebForms.PageRequestManager.getInstance();
if(prm.get_isInAsyncPostBack())
{
alert(" ");
pass=false;
}
else
{
var no = $get('txtAccount');
var pwd = $get('txtPwd');
if(no.value=='')
{
alert(' ');
no.focus();
pass=false;
}
else if(pwd.value=='')
{
alert(' ');
pwd.focus();
pass=false;
}
}
if(!pass)
{
args.set_cancel(true);
}
}
</script>
<asp:UpdatePanel ID="up1" runat="server" UpdateMode="conditional">
<ContentTemplate>
<asp:TextBox ID="txtAccount" runat="server"></asp:TextBox><br />
<asp:TextBox ID="txtPwd" runat="server" TextMode="password"></asp:TextBox><br />
<asp:Button ID="btnLog" runat="server" Text="LogIn" OnClick="btnLog_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
protected void btnLog_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000);
if (!(txtAccount.Text == "liuwu" &&
txtPwd.Text == "liuwu.net"))
{
throw new ApplicationException(" ");
}
}
リファレンス: