リピーター【repeater】
repeater
ネットワークにおいて伝送される信号を再生および中継するための装置のこと。伝送距離を延ばすため、あるいは分岐するために用いられる。LANではセグメント間の物理的な接続として表現される。
リピータは、OSI基本モデルでいう第1層(物理層)に当る、電気や光の信号を中継するものであるため、上位プロトコルに制約はない。ただし、信号を何段階ものリピータに通すと波形が歪んで解釈できなくなるため、使用数にはある程度の上限がある。10BASE-Tの登場以後、リピータハブが同様の機能を備えるようになり、リピータは実質上そこに吸収された。
repeater
Repeater イベント
パブリック イベント
名前 | 説明 | |
---|---|---|
DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) | |
Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) | |
Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) | |
ItemCommand | Repeater コントロールのボタンがクリックされたときに発生します。 | |
ItemCreated | Repeater コントロール内に項目が作成されたときに発生します。 | |
ItemDataBound | Repeater コントロール内の項目がデータ バインドされてから、ページ上に表示されるまでの間に発生します。 | |
Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) | |
PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) | |
Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |
関連項目
Repeater クラスSystem.Web.UI.WebControls 名前空間
DataGrid クラス
DataList クラス
その他の技術情報
Repeater Web サーバー コントロールRepeater クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説
Repeater コントロールは、template 宣言された基本データ バインド リストです。レイアウトやスタイルは組み込まれていないため、コントロールのテンプレートで、レイアウト、書式、およびスタイルのタグをすべて明示的に宣言する必要があります。
Repeater コントロールは、マークアップ タグを複数のテンプレートにわたって分割できる唯一の Web コントロールです。テンプレートを使用してテーブルを作成するには、HeaderTemplate にテーブル開始タグ (<table>)、ItemTemplate にテーブル行タグ (<tr>)、FooterTemplate にテーブル終了タグ (</table>) を挿入します。
Repeater コントロールには、選択機能または編集サポートは組み込まれていません。ItemCommand イベントを使用して、テンプレートからコントロールに対して生成されたコントロール イベントを処理できます。
Repeater コントロールには、データ バインディングをサポートする 2 つのプロパティが用意されています。System.Collections.IEnumerable インターフェイスを実装するオブジェクト (System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、または配列など) または IListSource インターフェイスを実装するオブジェクトにデータをバインドするには、DataSource プロパティを使用して、データ ソースを指定します。DataSource プロパティを設定する場合は、データ バインディングを実行するコードを手動で記述する必要があります。データ ソース コントロールで表されるデータ ソースを Repeater コントロールに自動的にバインドするには、DataSourceID プロパティを、使用するデータ ソース コントロールの ID に設定します。DataSourceID プロパティを設定すると、Repeater コントロールは、最初の要求で指定したデータ ソース コントロールに自動的にバインドされます。そのため、Repeater コントロールのデータ関連のプロパティを変更した場合を除き、DataBind メソッドを明示的に呼び出す必要はありません。
Repeater コントロールは、DataSource プロパティによって宣言および参照されるデータ モデル、または DataSourceID プロパティによって指定されるデータ ソース コントロールに、ItemTemplate と AlternatingItemTemplate をバインドします。HeaderTemplate、FooterTemplate、および SeparatorTemplate はデータ連結されていません。
Repeater コントロールのデータ ソースを設定してもデータが返されない場合は、コントロールは項目を表示せずに HeaderTemplate と FooterTemplate を表示します。データ ソースが null 参照 (Visual Basic では Nothing) の場合、Repeater は表示されません。
少なくとも、すべての Repeater コントロールに ItemTemplate を定義しておく必要があります。ただし、次の表で説明するその他のオプション テンプレートを使用すると、リストの外観をカスタマイズできます。
ItemTemplate | |
AlternatingItemTemplate | このテンプレートを定義すると、0 から始まる奇数のインデックスを持つ交互の項目の内容とレイアウトを決定できます。定義しない場合は、ItemTemplate が使用されます。 |
SeparatorTemplate | このテンプレートを定義すると、項目 (および交互の項目) の間に区切り記号が表示されます。定義しない場合は、区切り記号は表示されません。 |
HeaderTemplate | このテンプレートを定義すると、リストのヘッダーの内容とレイアウトを決定できます。定義しない場合は、ヘッダーは表示されません。 |
FooterTemplate | このテンプレートを定義すると、リストのフッターの内容とレイアウトを決定できます。定義しない場合は、フッターは表示されません。 |
注意 |
---|
このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検査してください。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトと HTML をブロックできます。検証サーバー コントロールは、ユーザー入力を査定する目的でも用意されています。詳細については、「検証サーバー コントロール構文」を参照してください。 |
2 つの簡単な Repeater コントロールをページで使用するコード例を次に示します。DataSource プロパティを使用して Repeater コントロールのデータ ソースを指定します。最初の Repeater は、テーブル内に項目を表示します。2 番目の Repeater は、カンマ区切りのリストに項目を表示します。
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <script language="VB" runat="server"> Sub Page_Load(Sender As Object, e As EventArgs) If Not IsPostBack Then Dim values As New ArrayList() values.Add(New PositionData("Microsoft", "Msft")) values.Add(New PositionData("Intel", "Intc")) values.Add(New PositionData("Dell", "Dell")) Repeater1.DataSource = values Repeater1.DataBind() Repeater2.DataSource = values Repeater2.DataBind() End If End Sub Public Class PositionData Private myName As String Private myTicker As String Public Sub New(newName As String, newTicker As String) Me.myName = newName Me.myTicker = newTicker End Sub Public ReadOnly Property Name() As String Get Return myName End Get End Property Public ReadOnly Property Ticker() As String Get Return myTicker End Get End Property End Class </script> </head> <body> <h3>Repeater Example</h3> <form runat=server> <b>Repeater1:</b> <p> <asp:Repeater id=Repeater1 runat="server"> <HeaderTemplate> <table border=1> <tr> <td><b>Company</b></td> <td><b>Symbol</b></td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td> <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p> <b>Repeater2:</b> <p> <asp:Repeater id=Repeater2 runat="server"> <HeaderTemplate> Company data: </HeaderTemplate> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Name") %> (<%# DataBinder.Eval(Container.DataItem, "Ticker") %>) </ItemTemplate> <SeparatorTemplate>, </SeparatorTemplate> </asp:Repeater> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script language="C#" runat="server"> void Page_Load(Object Sender, EventArgs e) { if (!IsPostBack) { ArrayList values = new ArrayList(); values.Add(new PositionData("Microsoft", "Msft")); values.Add(new PositionData("Intel", "Intc")); values.Add(new PositionData("Dell", "Dell")); Repeater1.DataSource = values; Repeater1.DataBind(); Repeater2.DataSource = values; Repeater2.DataBind(); } } public class PositionData { private string name; private string ticker; public PositionData(string name, string ticker) { this.name = name; this.ticker = ticker; } public string Name { get { return name; } } public string Ticker { get { return ticker; } } } </script> </head> <body> <h3>Repeater Example</h3> <form runat=server> <b>Repeater1:</b> <p> <asp:Repeater id=Repeater1 runat="server"> <HeaderTemplate> <table border=1> <tr> <td><b>Company</b></td> <td><b>Symbol</b></td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td> <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p> <b>Repeater2:</b> <p> <asp:Repeater id=Repeater2 runat="server"> <HeaderTemplate> Company data: </HeaderTemplate> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Name") %> (<%# DataBinder.Eval(Container.DataItem, "Ticker") %>) </ItemTemplate> <SeparatorTemplate>, </SeparatorTemplate> </asp:Repeater> </form> </body> </html>
DataSourceID プロパティを使用して、Repeater コントロールのデータ ソースを指定するコード例を次に示します。DataSourceID プロパティは、データの取得に使用する SqlDataSource コントロールの ID プロパティに設定されます。ページが読み込まれると、Repeater コントロールは、SqlDataSource コントロールによって指定されたデータ ソースに自動的にバインドされ、ユーザーにデータが表示されます。
<%@ Page Language="VB" %> <html> <head> </head> <body> <form id="Form1" runat="server"> <h3>Repeater.DataSourceID Property Example</h3> <asp:repeater id=Repeater1 datasourceid="SqlDataSource1" runat=Server> <headertemplate> <table border=1> <tr> <td><b>Product ID</b></td> <td><b>Product Name</b></td> </tr> </headertemplate> <itemtemplate> <tr> <td> <%# Eval("ProductID") %> </td> <td> <%# Eval("ProductName") %> </td> </tr> </itemtemplate> <footertemplate> </table> </footertemplate> </asp:repeater> <asp:sqldatasource id="SqlDataSource1" connectionstring="<%$ ConnectionStrings:NorthWindConnection%>" selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10" runat="server"> </asp:sqldatasource> </form> </body> </html>
<%@ page language="C#" %> <html> <head> </head> <body> <form id="Form1" runat="server"> <h3>Repeater.DataSourceID Property Example</h3> <asp:repeater id=Repeater1 datasourceid="SqlDataSource1" runat=Server> <headertemplate> <table border=1> <tr> <td><b>Product ID</b></td> <td><b>Product Name</b></td> </tr> </headertemplate> <itemtemplate> <tr> <td> <%# Eval("ProductID") %> </td> <td> <%# Eval("ProductName") %> </td> </tr> </itemtemplate> <footertemplate> </table> </footertemplate> </asp:repeater> <asp:sqldatasource id="SqlDataSource1" connectionstring="<%$ ConnectionStrings:NorthWindConnection%>" selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10" runat="server"> </asp:sqldatasource> </form> </body> </html>
System.Web.UI.Control
System.Web.UI.WebControls.Repeater
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Repeater コンストラクタ
アセンブリ: System.Web (system.web.dll 内)
構文
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Repeater プロパティ
パブリック プロパティ
関連項目
Repeater クラスSystem.Web.UI.WebControls 名前空間
DataGrid クラス
DataList クラス
その他の技術情報
Repeater Web サーバー コントロールRepeater メソッド
パブリック メソッド
関連項目
Repeater クラスSystem.Web.UI.WebControls 名前空間
DataGrid クラス
DataList クラス
その他の技術情報
Repeater Web サーバー コントロールRepeater メンバ
リストに表示される項目ごとに指定されたテンプレートを繰り返し適用することにより、カスタム レイアウトを実現するデータ連結リスト コントロール。
Repeater データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) | |
Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) | |
Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) | |
ItemCommand | Repeater コントロールのボタンがクリックされたときに発生します。 | |
ItemCreated | Repeater コントロール内に項目が作成されたときに発生します。 | |
ItemDataBound | Repeater コントロール内の項目がデータ バインドされてから、ページ上に表示されるまでの間に発生します。 | |
Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) | |
PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) | |
Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |
関連項目
Repeater クラスSystem.Web.UI.WebControls 名前空間
DataGrid クラス
DataList クラス
その他の技術情報
Repeater Web サーバー コントロール- repeaterのページへのリンク