Hoi,
Ik zit met het volgende probleem:
Ik heb een gridview met daarin een TemplateField. Het TemplateField bevat een itemtemplate met daarin een TextBox en een Button.
Als er op de Button geklikt wordt wil ik de waarde van de TextBox uit kunnen lezen. Alleen: Hoe kom ik bij de betreffende TextBox? Ik weet het id van de textbox (deze is gezet in gvAfsprFunctie_RowDataBound en wordt via het commandId van de button doorgegeven), alleen lukt het me niet om met FindControl de TextBox te verkrijgen.
Hieronder de (design)code (ik heb alle overbodige meuk er even uit gesloopt):
De code:
Ik zit met het volgende probleem:
Ik heb een gridview met daarin een TemplateField. Het TemplateField bevat een itemtemplate met daarin een TextBox en een Button.
Als er op de Button geklikt wordt wil ik de waarde van de TextBox uit kunnen lezen. Alleen: Hoe kom ik bij de betreffende TextBox? Ik weet het id van de textbox (deze is gezet in gvAfsprFunctie_RowDataBound en wordt via het commandId van de button doorgegeven), alleen lukt het me niet om met FindControl de TextBox te verkrijgen.
Hieronder de (design)code (ik heb alle overbodige meuk er even uit gesloopt):
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
| <asp:GridView ID="gvAfsprFunctie" runat="server" OnRowDataBound="gvAfsprFunctie_RowDataBound"> <Columns> <asp:BoundField DataField="Id" HeaderText="" Visible="false"/> <asp:TemplateField > <ItemTemplate> Voortgang<br /> <asp:TextBox runat="server" ID='tbVoortgang' CssClass="inputTextbox" Rows="2" Columns="40" TextMode="MultiLine"/> <asp:Button CommandName="AfpraakFunctie" CommandArgument='<%# Bind("Id") %>' ID="btnSaveVoortgang" runat="server" CssClass="InputButton" Text="Opslaan" OnClick="btnSaveVoortgang_Click"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> |
De code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| protected void btnSaveVoortgang_Click(object sender, EventArgs e) { //Cast the sender to a button Button saveVoortgangButton = (Button)sender; //Get values String commandType = saveVoortgangButton.CommandName.ToString(); String commandId = saveVoortgangButton.CommandArgument.ToString(); TextBox voortgang = (TextBox)gvAfsprFunctie.FindControl("tbVoortgang_" + commandId); String test = "gevonden: " + voortgang.Id; } |