I have a GridView containing template fields. Each template field contains a TextBox. Last column of the GridView contains SELECT command field.
On click of SELECT, I want to get the value of TextBox located in a cell of the selected row.
I tried:
((TextBox)GridView1.Rows(e.Row.RowIndex).FindControl("TextBox1")).Text;
in Row_Updating event but it is not working.
I tried a similar variant of code in SelectedIndexChanged event of GridView but it gives error: Object Reference not set to an instance of an object.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You need to look inside of a Cell, not inside of a Row, try this:
((TextBox)GridView1.Rows[e.Row.RowIndex].Cells[iCellIndex].FindControl("TextBox1")).Text;
Where you need to supply iCellIndex – index of the cell that has the textbox.
Oh and use square brackets to indicate collection item.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0