从gridview获取id

时间:2013-05-01 14:47:01

标签: c# asp.net gridview datagridview

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataKeyNames="Id" DataSourceID="EmptyL" AllowPaging="True" 
     AllowSorting="True" GridLines="Vertical" 
     OnRowUpdating="TaskGridView_RowUpdating">
     <Columns>
         <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
         <asp:CommandField ShowEditButton="True" />
         <asp:CheckBoxField DataField="Status" HeaderText="Status" SortExpression="Status"/>
     </Columns>
</asp:GridView>
<asp:LinqDataSource ID="EmptyLeg" runat="server" 
     ContextTypeName="Dev.Orpheus.App_Data.DataStorageDataContext" 
     EnableDelete="True" EnableInsert="True" EnableUpdate="True" 
     EntityTypeName="" OrderBy="Id desc" TableName="EmptyL">
</asp:LinqDataSource>

protected void TaskGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    Label1.Text = ?????? updated ID ???????
}

来自linq的经典gridview数据

例如,我更新字段“状态”

如何获取更新对象的ID?

3 个答案:

答案 0 :(得分:0)

您应该在GridViewUpdateEventArgs参数

的NewValues集合中获取它 像这样

e.NewValues [“Id”]

答案 1 :(得分:0)

为此你可以使用

<%# DataBinder.Eval(Container.DataItem, "Id") %>
CheckBoxField上的

方法,以便在

protected void TaskGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            Label1.Text = //Chechbox value
        }

并可根据需要更新数据库或其他文件

祝你有个美好的一天。

答案 2 :(得分:0)

Label1.Text = e.Keys[0]

网格包含主.Keys属性。