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

首先看看效果

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

时间: 2024-09-16 01:20:58

获取Repeter的Item和ItemIndex/CommandArgument实现思路与代码_实用技巧的相关文章

.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码_实用技巧

最近客户要求把一个树型目录导出成文件夹套文件夹的结构,并提供下载功能,刚开始感觉功能比较容易实现就在最短的时间把基本功能搞定,当发布到服务器上之后发现直接在本应用程序中导出目录(下带ntko文档及附件)再进行压缩,程序直接卡死了!后来就想到了要做一window服务,只是客户给的时间太短,没办法先写一控制台程序生成一个exe文件,然后再调用这个exe文件,这样就可以缓解本程序压力了! 下面写一个测试项目 在调用exe端传过去一个要压缩的文件夹的路径,然后在控制台下获取该路径进行压缩,压缩完成之后返

ASP.NET获取MS SQL Server安装实例实现思路及代码_实用技巧

参考MSDN的文章 http://msdn.microsoft.com/zh-cn/library/a6t1z9x2.aspx中所指的SqlDataSourceEnumerator类别,是应用程序在当前的网络中查找SQL Server实例. Insus.NET在演示中,是把找到的实例显示于DropDownList控件中.首先在.aspx拉一个DropDownList控件: 复制代码 代码如下: Server: <asp:DropDownList ID="DropDownListInstan

asp.net 获取某个时间段的星期并以表格形式排列出来_实用技巧

代码如下: 复制代码 代码如下: string start = Request.Form.Get("date2").ToString(); //获取开始日期,此控件为html控件 string end = Request.Form.Get("date3").ToString(); //获取结束日期,此控件为html控件 string[] start_date = start.Split('-'); //分离出开始日期的年.月.日 string[] end_date

asp.net 获取文件夹中的图片的代码_实用技巧

前台: 复制代码 代码如下: <asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" CellSpacing="25"> <ItemTemplate> <img src="<%# Eval("FullName") %&

获取远程网页的内容之二(downmoon原创)_实用技巧

本文仅针AD下代理上网的情况: 代码如下: 1.定义变量:  定义变量#region  定义变量  复制代码 代码如下: private    string strFireWallIP          ...{              get              ...{                  return System.Configuration.ConfigurationSettings.AppSettings["strFireWallIP"];       

asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码_实用技巧

设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb51.net"是域名 "aaa"是站点名 "bbb.aspx"是页面名(文件名) "id=5&name=kelli"是参数 [1]获取 完整url (协议名+域名+站点名+文件名+参数) 复制代码 代码如下: string url=R

asp.net下获取远程网页的内容之二(downmoon原创)_实用技巧

本文仅针AD下代理上网的情况: 代码如下: 1.定义变量:  定义变量#region  定义变量 复制代码 代码如下: private    string strFireWallIP          ...{              get              ...{                  return System.Configuration.ConfigurationSettings.AppSettings["strFireWallIP"];        

在RowCommand事件中获取索引值示例代码_实用技巧

在RowCommand事件中获取索引值 1.利用e.CommandSource 复制代码 代码如下: protected void lpg_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "ItemCollect") { GridViewRow gvr = (GridViewRow)(((LinkButton)(e.CommandSource)).NamingContainer);

C#获取当前页面的URL示例代码_实用技巧

本实例的测试URL:http://www.mystudy.cn/web/index.aspx 1.通过C#获取当前页面的URL 复制代码 代码如下: string url = Request.Url.AbsoluteUri; //结果: http://www.mystudy.cn/web/index.aspx string host = Request.Url.Host; //结果:www.mystudy.cn string rawUrl = Request.RawUrl; //结果:/web/