Hat sich erledigt - die GetPhotoList Methode darf beim Postback keine
Binding ausfuehren, sonst haut's die Aenderungen in der Textbox gleich
wieder wech.
Th.
> -----Original Message-----
> From: Eiben, Thorsten
> Sent: Tuesday, October 15, 2002 9:34 AM
> To: '[EMAIL PROTECTED]'
> Subject: Update updated erst beim 2.Klick
>
>
> Hallo Liste:
>
> Ich erstelle mir mittels Repeater eine Liste von Textboxen
> und Buttons.
>
> ----------------- --------
> | Text 1 | |Update|
> ----------------- --------
> ----------------- --------
> | Text 2 | |Update|
> ----------------- --------
> usw.
>
> Wenn der User nun den Update-Button anklickt soll der Text in
> der nebenstehenden Box in die Datenbank geschickt werden.
>
> Sieht im groben so aus wie unten gezeigt(die Funktion
> GetPhotoList holt die Daten aus der DB und bindet sie an den
> Repeater). Wenn nun der Update-Button zum 1. Mal geklickt
> wird, gibt's ein Postback, un die Datenbank wird auch schoen
> upgedatet. Nur die Textbox zeigt immer noch den alten Text
> an. Ein weiterer Blick in die Trace-Informationen (Form
> Collection) zeigt auch fuer den Inhalt des Formulares den neuen Wert.
>
> Versteht das wer?
>
> Th.
>
>
> Web Form:
>
> <asp:Repeater id="PhotoList" OnItemCommand="R1_ItemCommand"
> runat="server"> ... <ItemTemplate> <tr> <td valign=top>
> <asp:TextBox runat=server TextMode="MultiLine" Wrap=True
> Columns=60 Rows=3 ID=text Text=<%#
> DataBinder.Eval(Container.DataItem, "Description")%>/> </td>
> <td> <asp:Button ID="btnUpdate" Runat=server Text="Update"
> CssClass=smallbutton CommandArgument=<%#
> DataBinder.Eval(Container.DataItem, "ID")%>/> </td> </tr>
> </ItemTemplate> ... <asp:/Repeater>
>
> Code Behind:
>
> private void Page_Load(object sender, System.EventArgs e)
> {
> if (!IsPostBack)
> {
> GetPhotoList();
> }
> }
>
> public void R1_ItemCommand(Object Sender, RepeaterCommandEventArgs e)
> {
> OleDbConnection oDBConnect =
> DBFunctions.OpenDB(ConfigurationSettings.AppSettings["ConnString"]);
> int intIndex = e.Item.ItemIndex;
> int intPhoto =
> System.Convert.ToInt32(((Button)e.CommandSource).CommandArgument);
> RepeaterItem rptItem = PhotoList.Items[e.Item.ItemIndex];
> string strDescription = ((TextBox)rptItem.Controls[1]).Text;
> bool updated =
> AlbumFunctions.UpdatePhoto(oDBConnect,intPhoto,"Description",s
> trDescription);
> }
> GetPhotoList();
> }
>
| [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