ASP.NETサーバーコントロール
サーバーコントロールはサーバーによって理解タグです。
従来のASPの制限事項
以下に示すコードは、前の章からコピーされます。
<body bgcolor="yellow">
<center>
<h2>Hello W3CSchool.cc!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>
上記のコードは、従来のASPの限界を反映して:あなたは、出力を表示する場所のコードブロックを配置する必要があります。
HTMLページは不可能であるから、従来のASPを介して、実行可能コードを分離します。 維持することが困難である、読みページを困難にします。
ASP.NET - サーバーコントロール
ASP.NETサーバーコントロールすることで、上記の「スパゲッティコード "問題を解決しました。
サーバーコントロールはサーバーによって理解タグです。
サーバーコントロールの3つのタイプがあります。
- HTMLサーバーコントロール - 作成されたHTMLタグ
- Webサーバーコントロール - 新しいASP.NETタグ
- 検証サーバーコントロール - 入力検証
ASP.NET - HTMLサーバーコントロール
HTMLサーバーコントロールはサーバーによって理解されるHTMLタグです。
ASP.NETファイルのHTML要素は、デフォルトではテキストとして扱われます。 これらの要素は、プログラマブル取得するには、HTML要素ににrunat = "server"属性を追加します。 この属性は、要素はサーバーコントロールとして扱われることを示しています。 また、あなたはサーバーコントロールを識別するためにid属性を追加する必要があります。 id参照は、実行時にサーバーコントロールを操作するために使用することができます。
注:すべてのHTMLサーバーコントロールは、<form>タグのにrunat = "server"属性を持つ内に配置する必要があります。 runat = "server"属性は、フォームがサーバー上で処理されなければならないことを示しています。 それはまた、その中に含まれるコントロールは、サーバスクリプトによってアクセスすることができることを示しています。
次の例では、我々はの.aspxファイルでHtmlAnchorサーバーコントロールを宣言します。 その後、我々は、イベントハンドラ(指定されたイベントコードが実行されるサブルーチンのためのイベントハンドラ)のHREFプロパティHtmlAnchorコントロールを操作します。 ASP.NET Page_Loadイベントには、様々なイベントに理解できます。
Sub Page_Load
link1.HRef="http://www.w3cschool.cc"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit W3CSchool.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="You clicked me!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>
</body>
</html>
ASP.NET - 検証サーバーコントロール
検証サーバコントロールは、ユーザー入力を検証するために使用されます。 ユーザ入力が検証されない場合、エラーメッセージがユーザに表示されます。
各検証コントロールは、(指定された値または値の範囲の検証など)認証の指定されたタイプのいずれかを実行します。
ボタン、のImageButton、LinkButtonコントロールがクリックされたときに、デフォルトでは、ページは検証を実行します。 あなたはfalseにCausesValidationを設定することができ、検証を防止するためのボタンコントロールがクリックされました。
検証サーバーコントロール構文は次のとおりです作成します。
次の例では、TextBoxコントロール、Buttonコントロール、RangeValidatorコントロールでの.aspxファイルで宣言しました。 検証が失敗した場合」を!値は1から100まででなければならない」、テキストはRangeValidatorコントロールに表示されます。
例
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>