Asp.Net获取GridView当前行的方法_asp gridview获取当前行_k_1991的博客-程序员秘密

技术标签: C#  工作随笔  

1.将行按钮的CommandArgument绑定为当前行号

protected void RegInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Button btn = (Button)e.Row.FindControl("btnOk");
                if (btn != null)
                    btn.CommandArgument = e.Row.RowIndex.ToString();
            }
        }

在RowCommand方法里面做button的操作

protected void RegInfo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Reg")
            {
                int currentRow = Convert.ToInt32(e.CommandArgument);
                if (((Button)RegInfo.Rows[currentRow].FindControl("btnOk")).Text == "注册")
                {
					......................
                }
            }
        }

2.直接在button事件里面获取行号

protected void btnOk_Click(object sender, EventArgs e)
{
      //行号
      int row = ((GridViewRow)((LinkButton)sender).NamingContainer).RowIndex; 
}

或者在RowCommand事件里面

protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
 if (e.CommandName == "Reg")
{  
//【方法一】
GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值
int id=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value); //此获取的值为GridView中绑定数据库中的主键值
//注意:运用此方法,需要对GridView的DataKeyNames属性进行设置,此例中设置为主键字段。
//【方法二】
GridViewRow drv = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;//此得出的值是表示那行被选中的索引值
int id = Convert.ToInt32(GridView1.Rows[drv.RowIndex].Cells[0].Text);   //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drv.RowIndex取得是选中行的索引
  }
 }




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/k_1991/article/details/48493301

智能推荐

单相直直斩波电路 matlab仿真,(完整word版)斩波电路Matlab仿真电力电子技术课程设计...._颜卿Lydia的博客-程序员秘密

图2-3α=80%时电源电压,负载两端电压,脉冲信号和流过负载电流波形当占空比α=80%时,电源电压100V,负载两端电压为500V。3.升降压斩波电路的仿真研究3.1电路原理图升降压斩波电路的原理图及工作波形如图所示。设电路中电感L值很大,电容C的值也很大。使电感电流IL和电容电压即负载电压Uo基本为恒值。i1ILtontoffti2IL工作原理:V通时,电源E经V向L供电使其贮能,此时电流为i...

【移动网络】5GC:5G核心网络的移动性管理(Mobility Management)_5g移动性管理_Chahot的博客-程序员秘密

Mobility ManagementCM-Connected网络注册更新注册Handover切换服务可达性业务区域限制LADN(本地数据网络)非激活RRC中的移动性管理这一篇博文默认您已经了解5GC 的架构与基本NF构造,如果对此块预备知识准备不充足,请移步该博文:[5G 核心网络架构] 5GC: Architecture。该博文对5GC的架构进行了详解,是本文的基本先修课程。CM-ConnectedCM-Connected: 用户在切换数据服务时(Connection Management),让

nodejs中间件_高鹏飞白羊的博客-程序员秘密

中间件的作用是为主要的业务逻辑所服务分类:应用级的中间件路由级的中间件内置的中间件第三方中间件错误级中间件1,应用级中间件每一个中间件就是调用一个函数,需要配合其他的中间件或者路由使用拦截所有的路由server.use(函数)const express=require(‘express’);var server=express();server.listen(8888);...

Borůvka (Sollin) 算法求 MST 最小生成树_weixin_34248023的博客-程序员秘密

基本思路:用定点数组记录每个子树的最近邻居。对于每一条边进行处理:如果这条边连成的两个顶点同属于一个集合,则不处理,否则检测这条边连接的两个子树,如果是连接这两个子树的最小边,则更新 (合并)。时间复杂度平均 \(O(V+E)\),最坏 \(O((V+E)\log V)\)。下面是 Borůvka 算法演示动图:(源:Wikimedia)程序代码:struct node {int ...

基于eNSP配置DHCP协议分配IP以及配置telnet远程登录_rv0p111的博客-程序员秘密

先来看下一张图,主要是关于配置信息的描述这里简单的介绍下一个命令使用sysname R1 可以修改系统名字,原本是huawei,现在修改变成了R1,如下图所示 将PC1、PC2、PC3的IP配置设置为DHCP的形式 然后再分别给R1、R2、R2、R4端口设置IP地址,利用interface g0/0/1 和 ip address 10.0.12.1等等...

c语言分支程序设计求一元二次方程的根,C语言求一元二次方程的根,这题很简单嘛?看看这种想法很惊奇!..._weixin_39983993的博客-程序员秘密

数学基础:一元二次方程只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)。求解公式:求根公式法用求根公式法解一元二次方程的一般步骤为:①把方程化成一般形式,确定a,b,c的值(注意符号);②求出判别式的值,判断根的情况;③在(注:此处△读“德尔塔”)的前提下,把a、b、c的值代入公式进行计算,求出方程的根。于是得到C语...

随便推点

PAT甲级题解 1117_衍生动物的博客-程序员秘密

这道题实际上就是一道排序题 看数据量的话用O(n^2)的时间复杂度是过不了的 但是可以采用排好序一次遍历的方法 这样就能节约很多时间#include<bits/stdc++.h>using namespace std;const int MAXN = 100010;int a[MAXN];bool cmp(int a,int b){ return a > b;}int main(void){ freopen("pat0314/in.txt","r",st

SpringBoot项目通过金蝶中间件部署_Juwell16的博客-程序员秘密

1、安装金蝶中间件自行网上查找2、针对开发完成的项目作以下处理:将打包方式修改为war<packaging>war</packaging>移除内置tomcat、添加servlet依赖​​​​​​​<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</art...

看完吊打面试官!Java后端社招面试经历_普通网友的博客-程序员秘密

Kubernetes简介Kubernetes(简称K8S,K和S之间有8个字母)是用于自动部署,扩展和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。Kubernetes具有如下特性:服务发现与负载均衡:无需修改你的应用程序即可使用陌生的服务发现机制。存储编排:自动挂载所选存储系统,包括本地存储。Secret和配置管理:部署更新Secrets和应用程序的配

Java全套知识体系_s3219153的博客-程序员秘密

文章目录一、Java基础1.1 多线程1.2 内存优化二、Java框架2.1 Spring2.1.1 IOC\AOP2.1.2 事务2.2 SpringMVC2.2.1 六大组件介绍和分析2.2.2 策略模式适配器模式2.3 MyBatis2.3.1 框架阅读和手写2.3.2 四大组件介绍2.3.3 自定义插件开发2.4 设计模式2.4.1 七大设计原则2.4.2 3类-23种设计模式2.5 Sp...

Spring Boot中使用WebSocket总结_码上腾飞的博客-程序员秘密

简介所谓WebSocket, 类似于Socket,它的作用是可以让Web应用中的客户端和服务端建立全双工通信。在基于Spring的应用中使用WebSocket一般可以有以下三种方式:• 使用Java提供的@ServerEndpoint注解实现• 使用Spring提供的低层级WebSocket API实现• 使用STOMP消息实现使用Java提供的@ServerEndpoint注...

(ROC-RK3568-PC) 裸机12_Loader 分析整理_华锋2022的博客-程序员秘密

loader.bin 包含 一个TPL文件 和 两个 SPL 文件。通过 "./RKLoaderTools/boot_merger RKLoader.ini"命令行生成RKLoader.ini中需要指定 tpl.bin usb.bin spl.bin三个bin文件的路径