在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
首先看看效果: Repeater控件,放在ItemTemplate内的铵钮OnClick之后,获取Repeater的Item,ItemIndex,CommandArgument,CommandName以及绑定的字段值。 准备数据: 复制代码 代码如下: View Code Imports Microsoft.VisualBasic Namespace Insus.NET Public Class Catalog Private _ID As Integer Private _Name As String Public Property ID As Integer Get Return _ID End Get Set(value As Integer) _ID = value End Set End Property Public Property Name As String Get Return _Name End Get Set(value As String) _Name = value End Set End Property End Class End Namespace 复制代码 代码如下: View Code Private Function GetData() As List(Of Catalog) Dim cls As New List(Of Catalog) Dim cl As Catalog = New Catalog() cl.ID = 1 cl.Name = "汽车" cls.Add(cl) cl = New Catalog() cl.ID = 2 cl.Name = "时尚" cls.Add(cl) cl = New Catalog() cl.ID = 3 cl.Name = "科技" cls.Add(cl) cl = New Catalog() cl.ID = 5 cl.Name = "文化" cls.Add(cl) cl = New Catalog() cl.ID = 6 cl.Name = "公益" cls.Add(cl) Return cls End Function 在.aspx放置Repeater控件: 复制代码 代码如下: View Code <asp:Repeater ID="RepeaterCatalog" runat="server"> <HeaderTemplate> <table border="1" cellpadding="3" cellspacing="0"> <tr> <td>ID </td> <td>Name </td> <td>Choose</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td> <asp:Label ID="LabelID" runat="server" Text='<%# Eval("ID")%>'></asp:Label> </td> <td> <asp:Label ID="LabelName" runat="server" Text='<%# Eval("Name")%>'></asp:Label> </td> <td> <asp:Button ID="Button1" runat="server" Text="Select" OnClick="Button1_Click" CommandArgument='<%# Eval("ID")%>' CommandName="Choose" /> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> 在.aspx.vb为Repeater控件绑定数据: 复制代码 代码如下: View Code Imports Insus.NET Partial Class Default2 Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then Data_Binding() End If End Sub Private Sub Data_Binding() Me.RepeaterCatalog.DataSource = GetData() Me.RepeaterCatalog.DataBind() End Sub End Class 接下来,我们写onclick事件,在写事件之前,先在.aspx放一个Label来显示事件结果: 复制代码 代码如下: Process infor: <asp:Label ID="LabelInfo" runat="server" Text=""></asp:Label> 复制代码 代码如下: View Code Protected Sub Button1_Click(sender As Object, e As EventArgs) Dim btn As Button = DirectCast(sender, Button) Dim commandArgument As String = btn.CommandArgument Dim commandName As String = btn.CommandName Dim item As RepeaterItem = DirectCast(btn.NamingContainer, RepeaterItem) Dim index As Integer = item.ItemIndex Dim id As String = DirectCast(item.FindControl("LabelID"), Label).Text Dim name As String = DirectCast(item.FindControl("LabelName"), Label).Text Me.LabelInfo.Text = String.Format("Item index: {0}; CommandArgument: {1}; CommandName: {2}; ID: {3}; Name: {4};", index, commandArgument, commandName, id, name) End Sub |
请发表评论