可以實現對GridView控件這個使用數據鍵,如下所示:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="SomeID, SomeOtherColumn" OnRowDataBound="GridView1_RowDataBound" ...>
而在後臺代碼:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int someID = (int)GridView1.DataKeys[e.Row.RowIndex]["SomeOtherColumn"];
//do whatever you need to do with the value
}
編輯 :下面是一個如何訪問中的數據密鑰的示例0事件:
protected void TaskGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
var someValue = GridView1.DataKeys[e.RowIndex]["SomeOtherColumn"].ToString();
}
您也可以通過DataItem
屬性訪問在RowDataBound
事件的價值:
int someID = (int)DataBinder.Eval(e.Row.DataItem, "SomeID");
item.rowindex在rowdatabound中不存在:( – 2012-03-27 16:14:04
對不起,我更正了我的答案。它應該是'e.Row.RowIndex'或'e.Row.DataItem',具體取決於您使用的是哪種解決方案。 – 2012-03-27 16:18:45
好,所以與該代碼我得到列的編輯id行,現在,你可以告訴我什麼是正確的說法:SELECT * FROM tableName WHERE列和ID = someID「它是正確的? – 2012-03-27 16:41:43