2013-02-13 28 views
0

我有一個GridView綁定在網格內。我試圖在OnRowUpdating被觸發時獲取綁定字段的值。但是當我嘗試讀取新值時,結果總是空的。Gridview的值總是空的

這是我使用的指令:

protected void MyGridView_OnRowUpdating(object sender, GridViewUpdateEventArgs e) 
{ 
    string id = MyGridView.Rows[e.RowIndex].Cells[3].Text; 
    DataBind(); 
} 
+0

它給出了一個錯誤 – NetStarter 2013-02-13 13:14:40

+1

卡米拉可以綁定數據中的任何地方的數據......很難說只發生了一個事件,你正在顯示..例如'MyGridView.DataBind();'嘗試添加那 – MethodMan 2013-02-13 13:15:49

+0

是否有一個'OnRowUpdated'方法可以訂閱並運行代碼?我的理解是,在執行OnRowUpdating之前,GridView並未更新,因此您嘗試訪問的行可能不在網格中。 – 2013-02-13 13:16:50

回答

0

也許我錯了,因爲我沒有使用GridView控件了一段時間,但你不應該被訪問NewValues收集e

這就是GridView的美妙之處:它可以跟蹤舊值與新值,並且方便地讓它們可供您使用,而無需您四處尋找它們。

string id = (string) e.NewValues["whatever"]; 
+0

我愛你安,它的工作原理! !謝謝:) – Camilla 2013-02-13 13:24:23

+0

@Camilla你很受歡迎! – 2013-02-13 13:25:43

0
TextBox sampleTextBox=((TextBox)MyGridView.Rows[e.RowIndex].FindControl("CostTextBox")); 
string data=sampleTextBox.Text; 

試試這個這個,在這裏CostTextBox是你給了網格控件中的控件的ID。