同一个公司可以做几个网站,成立公司需要什么材料,网站建设邀标书,东莞建站方案在asp.net的 GridView 控件中#xff0c;判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮#xff08;除非另有指定的CommandName#xff09;被点击时触发#xff0c;并且事件参数中包含了足够的信息来… 在asp.net的 GridView 控件中判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮除非另有指定的CommandName被点击时触发并且事件参数中包含了足够的信息来确定哪一行的按钮被触发。 一向 GridView 中添加带有 CommandName 的按钮 首先在GridView的模板列TemplateField中添加按钮并设置按钮的 CommandName 属性这是用来标识按钮行为的字符串以及 CommandArgument 属性这通常用来存储行索引或其他标识符可以是静态的也可以是动态的例如当前行的索引。例如
asp:GridView IDGridView1 runatserver AutoGenerateColumnsfalse OnRowCommandGridView1_RowCommandColumnsasp:TemplateFieldItemTemplateasp:Button IDSelectButton runatserver CommandNameSelectRow CommandArgument%# Container.DataItemIndex % Text选择 //ItemTemplate/asp:TemplateField!-- 其他列 --/Columns
/asp:GridView在上面的代码中CommandArgument 被设置为 %# Container.DataItemIndex %这意味着每个按钮的 CommandArgument 将被其所在数据行的索引替换因此可以借助代码很方便的获取到用户点击行的索引 二处理 RowCommand 事件 接着你需要在代码后台处理 RowCommand 事件。在这个事件处理器中你可以检查 CommandName 以判断是哪个按钮被点击并使用 CommandArgument 来确定按钮所在的行索引。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{// 检查CommandName确认是点击的哪一个按钮if (e.CommandName SelectRow){// 获取点击的行索引int rowIndex Convert.ToInt32(e.CommandArgument);// 现在你已经知道了哪一行的按钮被点击你可以根据需要进行操作//用户选择的行的第一列的文本获取到主键就能很方便的编写sql其余行以此类推string value (GridView1.Rows[index]).Cells[0].Text;}
}通过这种方式你就可以在用户点击 GridView 中按钮时准确地判断出是哪一行的按钮被点击并根据需求执行相应的操作。
在实际的项目中你可以根据自己的需求设置 CommandName 和 CommandArgument这两个属性为你提供了一个灵活的方式来处理行级按钮点击事件。 三如果GridView中有多个模板按钮如何分别处理各自的点击事件
如图在前两步的基础上给两个按钮的CommandName属性各自取名 然后在GridView1_RowCommand事件中就能通过条件语句对响应的按钮分别做出不同的事件 四根据需要进一步获取数据
现在你已经知道了哪一行的按钮被点击你可以根据需要进行操作 //用户选择的行的第一列的文本获取到主键就能很方便的编写sql其余行以此类推 string value (GridView1.Rows[index]).Cells[0].Text;