Web フォーム コントロール
サーバー コントロールは、サーバーが理解できるラベルです。
クラシック ASP の制限
以下にリストされているコードは、前の章からコピーされたものです:
<body bgcolor =" yellow">
<center>
<h2>Hello W3CSschool.cc!</h2>
<p><%Response.Write (now() )%></p>
</center>
</body>
</html>
above コードは、クラシック ASP の制限: 出力を表示したい場所にコード ブロックを配置する必要があります。
従来の ASP では、実行可能コードを HTML ページから分離することは不可能です。これにより、ページが読みにくくなり、保守が困難になります。
ASP.NET - サーバー コントロール
ASP.NET は、サーバー コントロールを通じて上記の「スパゲッティ コード」問題を解決しました。
サーバー コントロールは、サーバーが理解できるラベルです。
サーバー コントロールには 3 つのタイプがあります:
- HTML サーバー コントロール - 作成された HTML タグ
- Web サーバー コントロール - 新しい ASP.NET タグ
- Validation サーバー コントロール - 入力検証に使用されます
ASP.NET - HTML サーバー コントロール
HTML サーバー コントロールは、サーバーが理解できる HTML タグです。
ASP.NET ファイル内の HTML 要素は、デフォルトではテキストとして処理されます。これらの要素をプログラム可能にするには、HTML 要素に runat="server" 属性を追加します。この属性は、要素がサーバー コントロールとして扱われることを示します。同時に、サーバー コントロールを識別するための id 属性を追加する必要があります。この ID は、ランタイムの操作に使用できるサーバー コントロールを参照します。
注: すべての HTML サーバー コントロールは、runat="server" 属性を持つ <form> タグ内に配置する必要があります。 runat="server" 属性は、フォームがサーバー上で処理される必要があることを示します。また、その中に含まれるコントロールがサーバー スクリプトからアクセスできることも示します。
次の例では、.aspx ファイルで HtmlAnchor サーバー コントロールを宣言します。次に、イベント ハンドラーで HtmlAnchor コントロールの HRef プロパティを操作します (イベント ハンドラーは、特定のイベントのコードを実行するサブルーチンです)。 Page_Load イベントは、ASP.NET が理解できる多くのイベントの 1 つです。
Sub Page_Load
link1.HRef="http :// www.w3cschool.cc"
End Sub
</script>
<html>
<body>
<form runat= "server" >
<a id="link1" runat="server">W3CSschool.cc にアクセスしてください!</a>
</form>
</ body>
</html>
実行可能コード自体は HTML の外に移動されました。
ASP.NET - Web サーバー コントロール
Web サーバー コントロールは、サーバーが理解する特別な ASP.NET タグです。
HTML サーバー コントロールと同様に、Web サーバー コントロールもサーバー上に作成され、有効にするには runat="server" 属性も必要です。ただし、Web サーバー コントロールは必ずしも既存の HTML 要素をマップするわけではなく、より複雑な要素を表すこともできます。
Web サーバー コントロールを作成するための構文は次のとおりです:
次の例では、.aspx ファイルで Button サーバー コントロールを宣言します。次に、Click イベントのイベント ハンドラーを作成して、ボタン上のテキストを変更します。
Sub submit(Source As Object, e As EventArgs) )
button1.Text="クリックされました!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
< ;/form>
</body>
</html>
##ASP.NET - 検証サーバー コントロール
検証サーバー コントロールは、ユーザー入力を検証するために使用されます。ユーザー入力が検証に合格しない場合、エラー メッセージがユーザーに表示されます。
各検証コントロールは、指定されたタイプの検証 (指定された値または値の範囲の検証など) を実行します。
デフォルトでは、Button、ImageButton、および LinkButton コントロールがクリックされたときにページ検証が実行されます。 CausesValidation を false に設定すると、ボタン コントロールがクリックされたときに検証されなくなります。
検証サーバー コントロールを作成するための構文は次のとおりです:
<asp:control_name id="some_id" runat="server" />次の例では、.aspx ファイルで TextBox コントロール、Button コントロール、および RangeValidator コントロールを宣言します。検証が失敗した場合、「値は 1 ~ 100 である必要があります!」というテキストが RangeValidator コントロールに表示されます。 body> ;
<p>1 ~ 100 の数字を入力してください:
<asp:TextBox id="tbox1" runat="server " /><asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MinimumValue="100"
Type="Integer"
Text="値は 1 ~ 100 である必要があります!"
runat="server" />
</p>
</form>
</本文>
</html>