Repeaterコントロールの使い方 カスタマイズ可能のコントロールを画面上に表示させる <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Data" %> <html> <head> <script runat="server"> void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { repeater1.DataSource = CreateDataSource(); repeater1.DataBind(); } } void ButtonSubmit_Click(object sender, EventArgs e) { foreach (RepeaterItem item in this.repeater1.Items) { TextBox tb = item.FindControl("TextBox1") as TextBox; this.LabelNames.Text += tb.Text; } } ICollection CreateDataSource() { string[] fi = new string[] { "John", "Mike" }; DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("id", typeof(int))); dt.Columns.Add(new DataColumn("username", typeof(String))); dt.Columns.Add(new DataColumn("age", typeof(long))); for (int i = 0; i < fi.Length; i++) { dr = dt.NewRow(); dr[0] = i + 1; dr[1] = fi[i]; dr[2] = (i + 1) * 10; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } </script> </head> <body> <form runat="server" style="height: 223px; width: 882px"> <asp:Repeater ID="repeater1" runat="server"> <HeaderTemplate> <table width="90%" align="center"> </HeaderTemplate> <ItemTemplate> <tr> <td> <%# DataBinder.Eval(Container.DataItem, "id")%> </td> <td> <asp:TextBox ID="TextBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "username") %>'></asp:TextBox> : <asp:TextBox ID="TextBox2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "age") %>'></asp:TextBox> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p> <asp:Button ID="ButtonSubmit" runat="server" OnClick="ButtonSubmit_Click" Text="Get" /> </p> <p> <asp:Label ID="LabelNames" runat="server"></asp:Label> </p> </form> </body> </html> あなたのお住まいの地域で最安のブロードバンド選び コメント: |