首先看看效果:
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
您可能感兴趣的文章:- 用Command对象和RecordSet对象向数据库增加记录哪一个更好
- 使用Jmail及Winwebmail发信时系统记录中的错误:502 Error: command ...
- Delphi Command模式
- asp中command的在单条记录时,有些字段显示为空的问题
- javascript document.execCommand() 常用解析
- asp.net gridview的Rowcommand命令中获取行索引的方法总结
- php设计模式 Command(命令模式)
- php设计模式 Command(命令模式)
- 解决VS2012 Express的There was a problem sending the command to the program问题
- bash scp command not found的解决方法
- GridView中动态设置CommandField是否可用或可见的小例子
- document.execCommand()的用法小结
- pip 错误unused-command-line-argument-hard-error-in-future解决办法
- 在RowCommand事件中获取索引值示例代码
- ON_COMMAND_RANGE多个按钮响应一个函数的解决方法
- C#命令模式(Command Pattern)实例教程
- ASP基础知识Command对象讲解