Seitenaufruf über PostBackUrl und TextBox auslesen.

18/06/2009 - 11:24 von Camel | Report spam
Ich möchte den Wert einer TextBox in einer anderen Seite übergeben und
auslesen.
Die neue Seite rufe ich über einen LinkButton auf.

Linkbox in der Seite 1:
<asp:LinkButton runat="server" Text="Info"
PostBackUrl="~/d_default_details.aspx" />

TextBox in der Seite 1:
<asp:TextBox ID="TextBox1" Text="xxxx" runat="server" />

Der Zugreifen über die Id funktioniert.
Response.Write(Request.Form["ctl00$ctl00$Middle_Content$Content$TextBox1"]);

Aber ich möchte ja nicht die extrem komplizierte ID nutzen sondern direkt
auf das Control zugreifen.

Codebehind in der Seite 2:
if (Page.PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Response.Write(SourceTextBox.Text);
}
}

Das Beispiel liefert aber leider immer "null".

In der Seite 2 habe ich auch diesen Code eingebunden.
<%@ PreviousPageType VirtualPath="~/d_default_overview.aspx" %>

Wo liegt bei mir der Fehler?

Viele Grüße aus Berlin.
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
18/06/2009 - 13:12 | Warnen spam
Hallo ?,

"Camel" schrieb:
-^^^^^

wàrs machbar, hier deinen Vor- und Nachnamen reinzuschreiben? Danke :)

TextBox in der Seite 1:
<asp:TextBox ID="TextBox1" Text="xxxx" runat="server" />



steht das direkt im Body der Seite oder innerhalb eines anderen Controls?

Falls letzteres, musst Du:

(TextBox)Page.PreviousPage.FindControl("TextBox1");



durch

(TextBox)Page.PreviousPage.FindControl.FindControl("<Container>").FindControl("TextBox1");

ersetzen. Alternativ kannst Du die TextBox auch auf Public setzen und
dann über Page.PreviousPage.TextBox1.Text zugreifen.

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