Wie kann ich Lesen, eine dynamisch erstellte textbox (gridview OnRowUpdating)
<asp:GridView ID="GridView1" runat="server" >
<asp:TemplateField HeaderText="Token" SortExpression="Token" HeaderStyle-Width="100px">
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
</asp:GridView>
update:
nachdem ich den Quelltext der Seite thsi ist, was ich sehe, die id der textbox, die ich erstellt habe dynamisch.
ctl00_ContentPlaceHolder1_tabControl_tabUsers_MyControl1_gv_ctl02__token0_3
OnRowUpdating:
TextBox _token = gvOrg.Rows[e.RowIndex].Cells[7].FindControl("_token " + e.RowIndex + "_" + rowId) as TextBox;
Update Ende:
ich bin hinzufügen einige dynamische textbox in OnRowDataBound und whe ich versuche immer den Wert, dann bin ich immer null
hier ist mein code:
protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
for (int rowId = 0; rowId < 5; rowId++)
{
TextBox _token = gvOrg.Rows[e.RowIndex].Cells[7].FindControl("_token" + rowId) as TextBox;
}
}
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate)) || (e.Row.RowState == DataControlRowState.Edit))
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int rowId = 0; rowId < 5; rowId++)
{
TextBox txtBox = new TextBox();
txtBox.ID = "_token" + rowId;
txtBox.Text = "token" + rowId;
e.Row.Cells[7].Controls.Add(txtBox);
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie Textfeld für jede Zeile - 5 von Ihnen... und in jede Zeile, jedes dieser Textfelder hat die gleiche id wie die anderen Zeilen. Sie müssen in der Zeile index, zum Beispiel, um die Namen der Textfelder, wenn Sie Sie erstellen. Man kann nicht ein Steuerelement auf der Seite mit der gleichen id, sonst kann es nicht richtig gefunden.
Hier ist ein Weg, das zu tun.
Kann ich nicht testen, dass dies die vollständige Lösung, aber es ist ein Ort, um zu starten.
OnRowUpdating
aber noch immer null - ich aktualisiert meine Frage.hier ist, wie ich in der Lage das problem zu lösen: anstatt im rowdatabound ich Schaffe auf RowCreated, hoffe, das wird anderen helfen.