asp.net在不同事件中获取主键等

datalist的 datalist_ItemCommand 得到主键:datalist.DataKeys[e.Item.ItemIndex];

dropdownlist得到主键: id = Convert.ToInt32(dropdownlist.SelectedItem.Value);

在gridview_RowDeleting事件中获取主键  int id =Convert.ToInt32(gridview1.DataKeys[e.RowIndex].Value.ToString());

在gridview1_RowEditing事件中获取主键:  id2 = Convert.ToInt32(gridview1.DataKeys[e.NewEditIndex].Value.ToString());

在Gridview1_RowDataBound事件中获取主键: Gridview1.DataKeys[e.Row.RowIndex][0]

在Gridview1_RowCommand事件中获取主键: Gridview1.DataKeys[Convert.ToInt32(e.CommandArgument)][0]

在datagrid_itemcommand事件中获取主键 datagrid1.dataKeys(e.item.itemIndex).toString()

另外,有dataKeys的前提是在page_load中声明了主键名,声明如下: this.GView.DataKeyNames = new string[] { "ID" }; 在早期.NET版本中的声明有些不同:this.GView.DataKeyNames = "ID"; 但是VS2005中并不支持这种声明方式,应该实例化一个字符串并给主键名赋值。

                    <Columns>
                        
<!--
                            其它 TemplateField
                        
-->
                        
<asp:TemplateField HeaderText="Select">
                            
<ItemTemplate>
                                
<asp:Button ID="Button1" runat="server" Text="选择" />
                            
</ItemTemplate>
                        
</asp:TemplateField>
                    
</Columns>

   private void CtlButton_Click(object sender, EventArgs e)
    {
        Button button 
= (Button)sender;
        GridViewRow gvr 
= (GridViewRow)button.Parent.Parent;
        
string pk = GridView1.DataKeys[gvr.RowIndex].Value.ToString();

//do something you want

}

转载于:https://my.oschina.net/weiqinxue/blog/725125

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值