给Repeater增加button事件,并绑定值
2024-09-02 09:20:21
ASPX页面:
增加两个事件,及传值。
1<asp:Repeater ID="rptList" OnItemDataBound="rptList_ItemDataBound" OnItemCommand="rptList_ItemCommand" runat="server">
2 <ItemTemplate>
3 <asp:Button ID="btnPass" runat="server" Text="Pass" CssClass="btn" CommandName="btnPass" CommandArgument="<%#((Get_Info)Container.DataItem).U_CHARGE_ID%>" />
4 </ItemTemplate>
5</asp:Repeater>
CS页面:
http://www.cnblogs.com/bingyu/articles/1725024.html
1protected void rptList_ItemDataBound(object sender, RepeaterItemEventArgs e)
2 {
3 Get_Info info = (Get_Info)e.Item.DataItem;
4 Button btn = (Button)e.Item.FindControl("btnPass");
5
6 btn.Enabled = !info.IS_OP;
7
8 if (!info.IS_OP) { btn.Text = "Pass"; }
9 else { btn.Text = info.OP_PARTY_ID; }
10
11 }
12
13
14public void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
15 {
16 if (e.CommandName == "btnPass")
17 {
18 int ID = e.CommandArgument.ConvertType<Int32>(0);
19 VoucherLogic.Pass(ID, AdminName);
20 }
21 BaseResponse.Redirect(string.Format("List.aspx?{0}", QynRequest.GetUrl(QynRequest.UrlType.Params)));
22 }
简单说明四处
1:OnItemDataBound="rptList_ItemDataBound"
这个事件,跟按钮点击事件,并没有关系。在这里。只是用于控制按钮的显示状态。
2:OnItemCommand="rptList_ItemCommand"
这个事件,就是重点啦。用于当触发Command相关的事件,用于,当点击了按钮后,触发要执行的代码。
3:CommandName="btnPass"
主要是每个按钮的标识,相当于ID一样。用于后台代码找到,你点击的是哪个按钮。
4:CommandArgument="<%#((Get_Info)Container.DataItem).U_CHARGE_ID%>"
传值,object 类型。 比如你可以把这一行数据的ID传进去。当然可以把整个Entity传进去。
最新文章
- [Leetcode] Roman to Integer
- 十、Android学习第九天——小结(转)
- 如何把项目部署到OSChina上
- ECLIPSE android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
- JZ2440开发笔记(5)——通过按键点亮LED
- commons-fileupload源码学习心得
- Linux系统编程:dup2()重定向
- Vue-admin工作整理(十九):从数字渐变组件谈第三方JS库Count-to的使用
- 洛谷P2234 [HNOI2002]营业额统计
- SAP CRM 自定义控制器与数据绑定
- python全栈开发day32-进程创建,进程同步,进程间的通信,进程池
- git status 查看当前修改文件
- 几种int类型的范围
- mysql故障
- Visual Studio “14” CTP 3 Released
- win10 WiFi 密码查询 命令
- 【Type】类型 ParameterizedType
- Ubuntu 12.04 Openssh 安装过程
- deamo的网址
- Spring MVC之@RequestBody@ResponseBody详解