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