GridView_RowCommand 得到选择行的主键值

yzaiml 2008-05-28 03:10:37
<asp:GridView ID="gvCustomer" runat="server" AutoGenerateColumns="False" OnRowCommand="gvCustomer_RowCommand">
<Columns>
<asp:BoundField DataField="CustomerCode" HeaderText="客户号" />
<asp:BoundField DataField="CustomerName" HeaderText="客户姓名" />
<asp:CommandField ShowSelectButton="True" HeaderText="选择" />
</Columns>

</asp:GridView>

protected void gvCustomer_RowCommand(object sender, GridViewCommandEventArgs e)
在这里里面我想要执行一个方法 当我点选择按钮的时候后
方法public void bindCustomerInfo(int CustomerId) 绑定这行的值
如何得到?
...全文
244 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
berwos 2008-05-28
  • 打赏
  • 举报
回复
学习
yzaiml 2008-05-28
  • 打赏
  • 举报
回复
谢谢大家了 我这个问题已经解决了
DataKeyNames 在查询DataBind之前就设置好了
我现在就用个隐藏域 得到
HiddenField1.Value=GridView.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();
在 bindCustomerInfo(Convert.ToInt32(HiddenField1.Value))
这样就可以了
kent55782 2008-05-28
  • 打赏
  • 举报
回复
我大概理解你的意思了
你的意思 应该是 有一个GRIDVIEW列表
有很多CUSTOMER的信息
比如
ID NAME 选择
你点选择的时候
是哪个客户就跳到那个客户的详细信息.
如果按照这个意思的话

你可以在选择拦 做一个A标记
然后通过按选择的时候 把你这个ID给传值过去 然后进入客户的详细信息.
一般来说 你可以采用<a href='<%#"CustomerDetails.aspx?CustomerId="+Eval("CustomerId")%>'

然后在后一个页面用QueryString 来接这个数据

你的问题写的很不详细,我所能猜的 也只有这点了,不知道能不能帮到你
amandag 2008-05-28
  • 打赏
  • 举报
回复
而且既然是个选择按钮,当然用SelectedIndexChanging事件

aspx
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="id" AutoGenerateColumns="False" OnSelectedIndexChanging="GridView1_SelectedIndexChanging">

...

aspx.cs处理
    protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
Response.Write(GridView1.DataKeys[e.NewSelectedIndex].Value.ToString());
}
amandag 2008-05-28
  • 打赏
  • 举报
回复
在这里里面我想要执行一个方法 当我点选择按钮的时候后
方法public void bindCustomerInfo(int CustomerId) 绑定这行的值
如何得到?
==
什么意思?
kent55782 2008-05-28
  • 打赏
  • 举报
回复
首先你绑定的时候 需要绑定你的主键.
GridView1.DataKeyNames = new string[] { "au_id"};

然后取值的时候就可以

cmd.Parameters.Add("@au_id", SqlDbType.VarChar).Value = GridView1.DataKeys[e.RowIndex].Value.ToString();

e.RowIndex表示你选中行的索引
wzx516 2008-05-28
  • 打赏
  • 举报
回复
你把gridview的DataKeyNames 设置成那个id
yzaiml 2008-05-28
  • 打赏
  • 举报
回复
求助

62,017

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧