HTML サーバー コントロールは主に、サーバーの動作を保証するために強化された標準 HTML コントロールです。 HTML コントロールはサーバーによって処理されませんが、ページ タイトル タグ、リンク タグ、入力要素などの表示のためにブラウザに送信されます。
runat = "server" 属性と id 属性を追加すると、サーバー側の処理で使用するサーバー コントロールに具体的に変換できます。
たとえば、HTML 入力コントロールは次のようになります。
<input type="text" size="40">
runat 属性と id 属性を追加することで、サーバー コントロールに変換できます。
<input type="text" id="testtext" size="40" runat="server">
ASP.NET サーバー コントロールは HTML サーバー コントロールが行うすべてのことを実行できますが、次の状況では HTML コントロールにも利点があります。
レイアウト目的には静的式を使用します。
HTML ページを ASP.NET で実行できるように変換します。
次の表では、HTML サーバー コントロールについて説明します。
コントロール名 | HTMLタグ |
---|---|
HTMLヘッド | <head>要素 |
HTML入力ボタン | <入力タイプ=ボタン|送信|リセット> |
HTML入力チェックボックス | <入力タイプ=チェックボックス> |
HTML入力ファイル | <入力タイプ = ファイル> |
HtmlInputHidden | <入力タイプ = 非表示> |
HTML入力画像 | <入力タイプ = 画像> |
HTML入力パスワード | <入力タイプ = パスワード> |
HtmlInputラジオボタン | <入力タイプ = 無線> |
HtmlInputReset | <入力タイプ = リセット> |
HTMLテキスト | <入力タイプ = テキスト|パスワード> |
HTML画像 | <img> 要素 |
HTMLリンク | <link>要素 |
HTMLアンカー | <a>要素 |
HTMLボタン | <button> 要素 |
HTMLボタン | <button> 要素 |
HTMLフォーム | <form> 要素 |
HTMLテーブル | <table> 要素 |
HTMLテーブルセル | <td> と <th> |
HtmlTableRow | <tr>要素 |
HTMLタイトル | <title>要素 |
HTMLSelect | <選択> 要素 |
HTMLGenericControl | すべての HTML コントロールがリストされていません |
次の例では、レイアウトに基本的な HTML テーブルを使用します。名前、住所、都市、州などのユーザーからの入力を取得するためのボックスと、クリックするとテーブルの最後の行に表示されるユーザー データを取得するボタン コントロールを使用します。
ページはデザイン ビューで次のように表示されるはずです。
コンテンツ ページのコードは、レイアウトに HTML テーブル要素を使用することを示しています。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="htmlserver._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> <style type="text/css"> .style1 { width: 156px; } .style2 { width: 332px; } </style> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td>Name:</td> <td> <asp:TextBox ID="txtname" runat="server" > </asp:TextBox> </td> </tr> <tr> <td>Street</td> <td> <asp:TextBox ID="txtstreet" runat="server" > </asp:TextBox> </td> </tr> <tr> <td>City</td> <td> <asp:TextBox ID="txtcity" runat="server" > </asp:TextBox> </td> </tr> <tr> <td>State</td> <td> <asp:TextBox ID="txtstate" runat="server"> </asp:TextBox> </td> </tr> <tr> <td> </td> <td></td> </tr> <tr> <td></td> <td ID="displayrow" runat ="server"> </td> </tr> </table> </div> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Click" /> </form> </body></html>
ボタン コントロールの背後にあるコードは次のとおりです。
protected void Button1_Click(object sender, EventArgs e){ string str = ""; str += txtname.Text + "<br />"; str += txtstreet.Text + "<br />"; str += txtcity.Text + "<br />"; str += txtstate.Text + "<br />"; displayrow.InnerHtml = str;}
次の文に注目してください。
ページ レイアウトには標準の HTML タグが使用されています。
HTML テーブルの最後の行はデータの表示に使用されます。サーバー側の処理が必要なため、ID 属性と runat 属性を追加します。