2012-01-12 68 views
0

我在datagrid模板字段中具有下拉列表控件。在SelectedIndexChanged事件中,我只想獲取發件人對象的位置,以創建對發件人對象所在行的引用。我在Google上找到的所有內容都是如何遍歷數據網格的每一行以進行比較它發送到客戶端的ID,看它是否實際上是我選擇的行。爲什麼我不能獲取sender對象的位置,只是用它來創建gridviewrow的一個實例?爲什麼不下面的工作?獲取發件人控件在GridView模板字段中的位置

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    GridViewRow row = (GridViewRow)GridView1.SelectedRow; 
    var store = row.Cells[0].Text; //I get the Object reference not set to an instance of an object error here 
} 

我錯過了什麼嗎?

回答

2

sender是DropDownList。它的NamingContainerGridViewRow。這有一個屬性RowIndex。我認爲這個(或行)是你想要的。這裏是:

var row = (GridViewRow)((Control)sender).NamingContainer; 
var rowIndex = row.RowIndex; 
+0

當然是。謝謝! – jmease 2012-01-12 20:07:45

相關問題