ASP.NET GRIDVIEW -Postback nicht festgelegt werden die Werte der geposteten Steuerelemente einstellen

StackOverflow https://stackoverflow.com/questions/149311

  •  02-07-2019
  •  | 
  •  

Frage

Beim Hinzufügen einer editItemTemtemplate mit einer Komplexität (Mulitplefelder in einer Vorlage) und dann die Steuerelemente aus dem Rowupdating -Ereignis analysiert, haben die vom Benutzer manuell eingegebenen Steuerelemente keine Werte. Meine Vermutung ist, dass etwas los ist, wenn die Daten gebunden sind, aber ich habe Instanzen, in denen einfach das Verhalten auf dem Codebehind hinzugefügt und zu einer Steuerung in Codebehind zugeschrieben wird und diesen Code das Entfernen des Codes zum Laufen gebracht hat. Als Work-Around kann ich (controlname.uniqueId) anfordern, seinen Wert zu erhalten, aber das ist eher ein Hack.

BearbeitenWenn ich so auf den Wert greife, so

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

Das Textfeld ist gefunden, aber der .Text ist nicht die Benutzereingabe.

War es hilfreich?

Lösung

Haben Sie ViewState ausgeschaltet? Haben Sie die Kontrolle programmgesteuert in der Vorlage hinzugefügt? Wenn ja, haben Sie sie auf der richtigen Phase erstellt?

Andere Tipps

Sie sollten in der Lage sein, die GridViewUpDateEventArgs zu verwenden, um den Eingabwert abzurufen, z. B.:

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

Ich habe diese Syntax schon einmal verwendet und es funktioniert wie ein Zauber.

Nach dem Back-Daten-Bind auf page_init verschoben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top