Repeater.ItemCommand イベント
アセンブリ: System.Web (system.web.dll 内)
構文
Dim instance As Repeater Dim handler As RepeaterCommandEventHandler AddHandler instance.ItemCommand, handler
public: event RepeaterCommandEventHandler^ ItemCommand { void add (RepeaterCommandEventHandler^ value); void remove (RepeaterCommandEventHandler^ value); }
使用例
Repeater コントロールの ItemCommand イベントのハンドラを指定およびコード化する方法の例を次に示します。ボタンに関する情報は、Repeater コントロール内で Button コントロールがクリックされたときに表示されます。
<%@ 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() End If End Sub Sub R1_ItemCommand(Sender As Object, e As RepeaterCommandEventArgs) Label2.Text = "The " & CType(e.CommandSource, Button).Text & _ " button has just been clicked; <br>" 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 OnItemCommand="R1_ItemCommand" 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> <ASP:Button Text=<%# DataBinder.Eval(Container.DataItem, "Ticker") %> runat="server" /></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p> <asp:Label id=Label2 font-name="Verdana" ForeColor="Green" font-size="10pt" runat="server"/> </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(); } } void R1_ItemCommand(Object Sender, RepeaterCommandEventArgs e) { Label2.Text = "The " + ((Button)e.CommandSource).Text + " button has just been clicked; <br>"; } 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 OnItemCommand="R1_ItemCommand" 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> <ASP:Button Text=<%# DataBinder.Eval(Container.DataItem, "Ticker") %> runat="server" /></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p> <asp:Label id=Label2 font-name="Verdana" ForeColor="Green" font-size="10pt" runat="server"/> </form> </body> </html>
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.ItemCommand イベントのページへのリンク