Cant get-Wert aus der textbox auf "gridview"
Ich habe ein GridView-Steuerelement auf einer ASP.NET Seite mit einem TemplateField-Spalte mit einem Textfeld in der ItemTemplate. Dann habe ich eine Befehlszeile ein, die Sie ausführen soll, ziehen Sie den text aus dieser TextBox und verwenden Sie es in einem SqlCommand ausführen einer gespeicherten Prozedur.
Hier ist mein C# code:
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = this.gvwSNConfirm.Rows[index];
TableCell intID = selectedRow.Cells[1];
int reqID = int.Parse(intID.Text);
//Get the SN from the text box on the selected row
TableCell snCell = selectedRow.Cells[0];
TextBox tbox = (TextBox)staffNum.FindControl("txtSN");
string stSN = tbox.Text.ToString();
Wenn ich einen Haltepunkt, um zu sehen, wie die Werte für intID und T-Box.Text bekomme ich die richtige ID, aber den Text für die T-Box ist "".
Den mark-up für die zwei Spalten, die ich bin Referenzierung ist
<asp:TemplateField HeaderText="SN">
<ItemTemplate>
<asp:TextBox ID="txtSN" runat="server" MaxLength="20" Width="100px" />
</ItemTemplate>
<HeaderStyle BackColor="#171695" Font-Names="Arial" Font-Size="Small" ForeColor="White" Wrap="true" />
</asp:TemplateField>
<asp:BoundField DataField="Request" HeaderText="Request" ReadOnly="true" SortExpression="Request" />
Kann mir jemand helfen warum kann ich nicht bekommen Sie den text aus dem Textfeld? Es funktionierte beim ersten mal, aber anschließend alle T-Box-text-Werte wurden "".
Vielen Dank
Andy
NEUEN CODE (05/03/2010):
protected void gvwSecond_RowCommand(object sender, GridViewCommandEventArgs e)
{
if ((e.CommandName == "Confirm") || (e.CommandName == "Decline"))
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = gvwSecond.Rows[index];
int secondID = int.Parse(row.Cells[1].Text);
TextBox txtsn = ((TextBox)row.FindControl("txtSecSN"));
string sn = txtsn.Text;
InformationsquelleAutor anD666 | 2010-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ereignis, was ist dieser code? Sollten Sie e.Element.FindControl. Wenn Sie die richtige Steuerung für sicher, aber Text ist leer, das heißt, es ist entweder nicht immer zurück gebucht, oder es wird geräumt woanders.
Keinen Zugriff auf e.Artikel über die RunCommand-wie es verwendet GridViewCommandEventArgs. Die lästigen dies ist der code ist der gleiche wie eine andere Web Form-außer bar die control-Namen.
In diesem Fall... nicht sicher, was zu sagen. Fiddler und stellen Sie sicher, die Daten werden immer veröffentlicht. Dann gehen Sie durch den code, und stellen Sie sicher, dass Sie nicht überschrieben/gelöscht anderswo.
Ich es geschafft, das problem zu beheben, löschte ich die Seite und begann erneut, aber mit etwas anderen code und es funktionierte gut. Ich bin mir nicht sicher, ob es etwas war, was hier versteckt wurde beenden Sie die text-box wird abgeholt, aber seine Arbeit jetzt 🙂 Danke für Eure Hilfe
InformationsquelleAutor Bryan
Ich hatte das gleiche problem mal. Ich hatte auch zum abrufen der text-Wert von einem Textfeld in ein GridView-Steuerelement auf dem server und ich war immer eine leere Zeichenfolge. Ich musste EnableViewState="false" für das Gridview-Steuerelement und das Textfeld, und es funktionierte wie ein Charme.
InformationsquelleAutor npclaudiu