ASP.NET のクライアント側コーディングには 2 つの側面があります。
クライアント側スクリプト: ブラウザ内で実行され、ページの実行が高速化されます。たとえば、クライアント側のデータ検証では、サーバーでのポストバックを経由せずに無効なデータを検出し、それに応じてユーザーに警告できます。
クライアント ソース コード: ASP.NET Web ページは、このクライアント ソース コードを形成します。たとえば、ASP.NET Web ページの HTML ソース コードにはいくつかの隠し領域が含まれており、Java 記述言語コードを自動的に挿入して、ビュー ステートなどの情報を保存したり、Web ページが適切に機能することを保証する他のタスクを実行したりできます。
すべての ASP.NET サーバー コントロールでは、Java 言語または VBS 言語の描画を介したレスポンシブ コーディングが可能です。一部の ASP.NET サーバー コントロールは、クライアント側のスクリプトを使用して、サーバーにポストバックせずにユーザーのニーズに応答します。たとえば、データ検証コントロールなどです。
これらのスクリプトに加えて、ボタン コントロールには、ボタンがクリックされたときにクライアント スクリプトを実行する適切な OnClientClick メソッドがあります。
従来のサーバー HTML コントロールには、スクリプトの開始時にスクリプトを実行する次のイベントがあります。
イベント | 財産 |
---|---|
オンブラー | コントロールがフォーカスを失ったときにトリガーされます |
オンフォーカス | コントロールがフォーカスを取得するとトリガーされます |
クリック時 | コントロールをクリックすると発火します |
変更中 | コントロール値が変化するとトリガーされます |
オンキーダウン | ユーザーがキーボードのボタンを押したときに発生します |
キーを押すと | ユーザーが英数字キーを押したとき |
オンキーアップ | ユーザーがキーを放したときに発生します |
マウスオーバーで | ユーザーがコントロール インターフェイス上でマウス ポインタを移動するとトリガーされます |
サーバークリック時 | コントロール インターフェイスがクリックされると、ServerClick イベント コントロールが開始されます。 |
クライアントのソースコードについては上で説明しました。 ASP.NET Web ページは通常、次の 2 種類のファイルで記述されます。
コンテンツ ファイルまたは承認ファイル (.aspx)
コードビハインドファイル
コンテンツ ファイルには、ページの構造を形成する HTML または ASP.NET コントロール タグとテキストが含まれています。コードビハインド ファイルには分類定義が含まれています。実行時に、コンテンツ ファイルが解析され、ページ クラスに配信されます。
このページ クラスと、エンコード ファイル内のクラス定義およびシステム生成のエンコードは、一緒になって実行エンコード (統合) を構成し、すべてのポストバック データを処理し、応答を生成し、クライアントにアクションを送り返します。
次の単純なページを考えてみましょう。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="clientside._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Click" /> </div> <hr /> <h3> <asp:Label ID="Msg" runat="server" Text=""> </asp:Label> </h3> </form> </body></html>
このページをブラウザーで実行すると、「ソースの表示」オプションにより HTML ページが表示され、ASP.Net ランタイムを介してブラウザーに送信されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head> <title> Untitled Page </title> </head> <body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU5MTA2ODYwOWRk31NudGDgvhhA7joJum9Qn5RxU2M=" /> </div> <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKpjZj0DALs0bLrBgKM54rGBhHsyM61rraxE+KnBTCS8cd1QDJ/"/> </div> <div> <input name="TextBox1" type="text" id="TextBox1" /> <input type="submit" name="Button1" value="Click" id="Button1" /> </div> <hr /> <h3><span id="Msg"></span></h3> </form> </body></html>
コーディングを適切に確認すると、最初の 2 つの <div> タグにビュー ステートと有効なデータを保存するための隠しフィールドが含まれていることがわかります。