如何从gridView向数据库发送id值?

时间:2012-04-03 17:42:56

标签: javascript .net gridview

我在.aspx页面上有一个带有隐藏列的GridView,该列具有ID值。当用户点击某一行时,我需要后面的C#代码上的ID列值,以便我可以查询数据库并使用与此ID对应的数据填充另一个视图。我的问题是,我可以将此ID值传递给行的onClick事件中的javascript函数,但是如何将其从实际查询SQL Server数据库的后面的代码中获取?

3 个答案:

答案 0 :(得分:1)

您可以使用datagrid控件的datakeynames属性指定包含ID

的列
<asp:gridview 
id="grvTest" 
autogeneratecolumns="true" 
datakeynames="ID" 
runat="server">

//获取所选行的值

void grvTest_SelectedIndexChanged(object sender, EventArgs e)

{

// Determine the index of the selected row.
int index = CustomersGridView.SelectedIndex;


//Display the primary key value of the selected row.
 Message.Text = "The key value of the selected row is " +
    grvTest.DataKeys[index].Value.ToString();

}

答案 1 :(得分:0)

以下是我根据您提供的信息建议的内容。

为了澄清,您说“当用户点击某个时,您需要ID 值...”。这是正确的还是你的意思是说你想要行值?

无论哪种方式,都适用相同的基本规则。

以下是CodeProject的一个示例,概述了您需要做的事情。

http://www.codeproject.com/Articles/50080/Extended-ASP-NET-GridView-with-cell-click-events

答案 2 :(得分:0)

这就是我解决它的方法 -

获得选定的行索引 - e.Row.Attributes [“onclick”] = ClientScript.GetPostBackClientHyperlink(this.GridView2,“Select $”+ e.Row.RowIndex);

在Grid的SelectedIndexChanged事件中 -   GridView2.SelectedRowStyle.BackColor = System.Drawing.Color.LightGray;  string id = GridView2.SelectedRow.Cells [0] .Text;

其中,Cells [0]是我的隐藏列,其中包含ID值