源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

获取Repeter的Item和ItemIndex/CommandArgument实现思路与代码

  • 时间:2021-01-07 11:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:获取Repeter的Item和ItemIndex/CommandArgument实现思路与代码
[b]首先看看效果[/b]: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100148_0_87748.gif?2013017151930[/img] Repeater控件,放在ItemTemplate内的铵钮OnClick之后,获取Repeater的Item,ItemIndex,CommandArgument,CommandName以及绑定的字段值。 [b]准备数据[/b]:
[u]复制代码[/u] 代码如下:
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
[u]复制代码[/u] 代码如下:
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控件:
[u]复制代码[/u] 代码如下:
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>
[b]在.aspx.vb为Repeater控件绑定数据[/b]:
[u]复制代码[/u] 代码如下:
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来显示事件结果:
[u]复制代码[/u] 代码如下:
Process infor: <asp:Label ID="LabelInfo" runat="server" Text=""></asp:Label>
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部