Hi Liste,
ich verwende ein DataGrid zur Aktualisierung von Tabellen.
Ein der Spaltendefinitionen verwendet ein edititemtemplate:
-- schnipp--
<asp:templatecolumn headertext="Menge">
<headerstyle backcolor="silver"/>
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "Menge") %>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="Menge" width="30px" runat="server"
text='<%# DataBinder.Eval(Container.DataItem, "Menge") %>'/>
</edititemtemplate>
</asp:templatecolumn>
-- schnipp--
Im Kopf des Grid steht:
-- schnipp--
onupdatecommand="update_basket">
-- schnipp--
In der Klasse ist definiert:
-- schnipp--
public void update_basket(object Sender, DataGridCommandEventArgs e)
{
NeueMenge = (TextBox) e.Item.FindControl("Menge");
// usw.
}
-- schnipp--
NeueMenge.Text sollte nun beim Aktualisierung den Wert der Eingabe in
die Textbox enthalten. Es erscheint aber immer der alte Wert aus
der Datenbindung. Alle anderen Vorg�nge, Abbrechen, Edit-Starten
usw. funktionieren.
Es verh�lt sich so, als ob der Feldinhalt ignoriert wird. Die Methode
"update_basket" wird korrekt aufgerufen, der Wert steht ja auch drin,
nur eben der alte.
Interessant ist, wenn man in den Quelltext schaut und "name" abschreibt:
<input name="basket:_ctl4:Menge" ...
und dann mit Request.Form["basket:_ctl4:Menge"] den Wert direkt liest,
stimmt es, also das Formular wird definitiv korrekt versendet.
Hat irgendwer eine Idee, was hier nicht stimmen k�nnte?
J�rg
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp