zoukankan      html  css  js  c++  java
  • 获取Repeter的Item和ItemIndex

    首先看看效果:

     Repeater控件,放在ItemTemplate内的铵钮OnClick之后,获取Repeater的Item,ItemIndex,CommandArgument,CommandName以及绑定的字段值。

    准备数据:

    View Code
     1 Imports Microsoft.VisualBasic
     2 Namespace Insus.NET
     3 
     4     Public Class Catalog
     5 
     6         Private _ID As Integer
     7         Private _Name As String
     8 
     9         Public Property ID As Integer
    10             Get
    11                 Return _ID
    12             End Get
    13             Set(value As Integer)
    14                 _ID = value
    15             End Set
    16         End Property
    17 
    18         Public Property Name As String
    19             Get
    20                 Return _Name
    21             End Get
    22             Set(value As String)
    23                 _Name = value
    24             End Set
    25         End Property
    26 
    27     End Class
    28 End Namespace
    View Code
     1  Private Function GetData() As List(Of Catalog)
     2         Dim cls As New List(Of Catalog)
     3 
     4         Dim cl As Catalog = New Catalog()
     5         cl.ID = 1
     6         cl.Name = "汽车"
     7         cls.Add(cl)
     8 
     9         cl = New Catalog()
    10         cl.ID = 2
    11         cl.Name = "时尚"
    12         cls.Add(cl)
    13 
    14         cl = New Catalog()
    15         cl.ID = 3
    16         cl.Name = "科技"
    17         cls.Add(cl)
    18 
    19         cl = New Catalog()
    20         cl.ID = 5
    21         cl.Name = "文化"
    22         cls.Add(cl)
    23 
    24         cl = New Catalog()
    25         cl.ID = 6
    26         cl.Name = "公益"
    27         cls.Add(cl)
    28         Return cls
    29     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来显示事件结果:

    View Code
    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


     

  • 相关阅读:
    形象理解ERP(转)
    禁用windows server 2008 域密码复杂性要求策略
    How to adding find,filter,remove filter on display method Form
    Windows Server 2008 R2激活工具
    How to using bat command running VS development SSRS report
    Creating Your First Mac AppGetting Started
    Creating Your First Mac AppAdding a Track Object 添加一个 Track 对象
    Creating Your First Mac AppImplementing Action Methods 实现动作方法
    Creating Your First Mac AppReviewing the Code 审查代码
    Creating Your First Mac AppConfiguring the window 设置窗口
  • 原文地址:https://www.cnblogs.com/insus/p/2863503.html
Copyright © 2011-2022 走看看