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


     

  • 相关阅读:
    Django rest framework集成微博第三方登录
    Python web项目Django部署在Ubuntu18.04腾讯云主机上
    Mac中安装JDK1.8和JDK11双版本并任意切换
    Nginx完美解决前后端分离端口号不同导致的跨域问题
    Mac系统安装Tomcat服务器
    Python将数据渲染到docx文档指定位置
    IO多路复用select/poll/epoll详解以及在Python中的应用
    Tornado框架实现异步爬虫
    广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)
    Python3使用tkinter编写GUI程序
  • 原文地址:https://www.cnblogs.com/insus/p/2863503.html
Copyright © 2011-2022 走看看