2013-02-13 1 views
0

У меня есть сетка с связанными полями внутри сетки. Я пытаюсь получить значения связанных полей, когда OnRowUpdating уволен. Но когда я пытаюсь читать новые значения, результат всегда пуст.Значение из Gridview всегда пусто

Это команда, я использую:

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

это делает ошибку – NetStarter

+1

Camila может вы привязываете данные в любом месте кода .. трудно сказать, что происходит только с одним событием, которое вы показываете .. например 'MyGridView.DataBind();' try add что – MethodMan

+0

Есть ли метод «OnRowUpdated», на который вы можете подписаться и запустить свой код? Я понимаю, что GridView не обновляется до выполнения OnRowUpdating, поэтому строка, к которой вы пытаетесь получить доступ, может быть очень не включена в сетку. –

ответ

0

Может быть, я ошибаюсь, так как я не использовал GridView на некоторое время, но ты не должен быть доступ к NewValues коллекции e ?

Это красота GridView: она отслеживает старые и новые ценности и удобно делает их доступными для вас без необходимости ловить рыбу, чтобы найти их.

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

Я люблю тебя, Энн, это работает! ! Спасибо :) – Camilla

+0

@Camilla Вы очень желанны! –

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

попробовать это это, где CostTextBox является идентификатор элемента управления вы дали для управления в сетке.