Warum erst beim zweiten Mal?

04/03/2008 - 15:23 von Tamara Mikes | Report spam
Salü alle zusammen

Mein Formular auf der Seite register01.aspx beinhaltet die TextBox
tbVorname.

Für den Button habe ich folgendes programmiert:

protected void cmdSenden_Click(object sender, EventArgs e)
{
Session["vVorname"] = tbVorname.Text;
}


Warum bringt der nachfolgende Code erst beim zweiten Klick auf den Button
den Text was ich eingegeben habe? Beim ersten Klick sagt er noch immer, ich
soll das Formular ausfüllen. Was mache ich falsch?


public partial class register01 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Literal objLiteral = new Literal();
if (Session["vVorname"] == null)
{
objLiteral.Text = "<p>Füllen Sie das Formular aus</p>";
}
else
{
objLiteral.Text = "<p>Sie haben eingegeben <br>Vorname: " +
Session["vVorname"] + "</p>";
}
//myForm.Controls.Clear;
myForm.Controls.Add(objLiteral);
}
protected void cmdSenden_Click(object sender, EventArgs e)
{
Session["vVorname"] = tbVorname.Text;
}
}



Dann habe ich folgendes
<div runat="server" id="myForm">

Warum macht myForm.Controls.Clear; das div Tag nicht leer? Was muss ich
machen, dass der Text nicht angefügt (.add) sondern überschrieben wird?

Vielen Dank für Hilfestellung
Gruss Tamara
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
04/03/2008 - 15:40 | Warnen spam
Hallo Tamara,

"Tamara Mikes" schrieb:

Warum bringt der nachfolgende Code erst beim zweiten Klick auf den Button den Text was ich eingegeben habe? Beim ersten Klick sagt
er noch immer, ich soll das Formular ausfüllen. Was mache ich falsch?



Du beachtest den Lifecycle nicht. Sprich, du liest einen Wert aus, der zu
dem Zeitpunkt noch gar nicht gesetzt ist. Siehe bspw.

http://msdn2.microsoft.com/de-de/li...78472.aspx
http://msdn2.microsoft.com/en-us/li...19775.aspx

Der Click Event wird nach Page_Load ausgeführt, daher kann das so nicht
funktionieren.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen