Das hat mich total verwirrt. Kann mir das jemand erklären?
Markup:
<form id="form1" runat="server">
<asp:TextBox runat="server" ID="txtTest" />
<asp:PlaceHolder runat="server" ID="PlaceHolder1" />
<asp:Button runat="server" Text="Click" />
</form>
Code Behind:
protected void Page_Load(object sender, EventArgs e)
{
txtTest.Text = "BBB";
PlaceHolder1.Controls.Add(new TextBox() { Text = "AAA" });
}
Wenn ich den Text in beiden Textfeldern ändere und dann auf die Schaltfläche "Klicken" klicke, wird der Text in txtTest auf den ursprünglichen Wert "BBB" zurückgesetzt (der in page_load angegeben wurde), aber das dynamische Textfeld behält den Wert, den ich gerade eingegeben habe (und nicht "AAA"), obwohl dieser zur gleichen Zeit wie das andere, "hartkodierte" Textfeld angegeben wurde.