问题
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.
回答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.
来源:https://stackoverflow.com/questions/16863776/get-textbox-value-from-gridview-cell