Web フォーム コントロール



サーバー コントロールは、サーバーが理解できるラベルです。


クラシック ASP の制限

以下にリストされているコードは、前の章からコピーされたものです:

<html>
<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 つです。

<script runat="server">
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 サーバー コントロールを作成するための構文は次のとおりです:

<asp:control_name id="some_id" runat="server" />

次の例では、.aspx ファイルで Button サーバー コントロールを宣言します。次に、Click イベントのイベント ハンドラーを作成して、ボタン上のテキストを変更します。

<script runat="server">
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、および LinkBut​​ton コントロールがクリックされたときにページ検証が実行されます。 CausesValidation を false に設定すると、ボタン コントロールがクリックされたときに検証されなくなります。

検証サーバー コントロールを作成するための構文は次のとおりです:

<asp:control_name id="some_id" runat="server" />

次の例では、.aspx ファイルで TextBox コントロール、Button コントロール、および RangeValidator コントロールを宣言します。検証が失敗した場合、「値は 1 ~ 100 である必要があります!」というテキストが RangeValidator コントロールに表示されます。 body> ;

<form runat="server">

<p>1 ~ 100 の数字を入力してください:

<asp:TextBox id="tbox1" runat="server " />
<br /><br />
<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>