Bu makalemizde sayfanın PreviousPage özelliğinden faydalanıp bir önceki sayfayı yakalayabilir böylelikle sayfa üzerindeki kontrollere erişerek ihtiyacımız olan verileri alabiliriz.
Öncelikle PreviousPage özelliğinin dolu olarak gelmesi yani null gelmemesi için direk sayfaya erişim yapılmaması yönlendirme ile sayfaya erişildiğinde PreviousPage dolu olarak gelecektir o yüzden sayfa üzerinde arama yapmadan önce PreviousPage null’mu değilmi diye kontrol etmelisiniz örnek kod aşağıda yer almaktadır.
Bu örneğimizde şöyle birşey düşünelim Default.aspx sayfamızda Adımızı girebileceğimiz bir alan olsun ve Gönder butonuna tıkladığımızda Webform1.aspx sayfamıza yönlendirme yapacağız böylece webform1.aspx’ sayfasının load’inda PreviousPage Default.aspx olarak gelecek bizde TxtName id’li TextBox nesnesinden adı’nı alacağız ve label’a yazdıracağız örnek kodlar altta yer almaktadır.
Default.aspx kodları
1 2 | <asp:TextBox runat="server" ID="TxtName"></asp:TextBox> <asp:Button runat="server" ID="BtnTransfer" OnClick="BtnTransfer_OnClick" Text="Gönder"/> |
Default.aspx.cs’de BtnTransfer olayının kodu
1 2 3 4 | protected void BtnTransfer_OnClick(object sender, EventArgs e) { Server.Transfer("~/WebForm1.aspx"); } |
Webform1.aspx Kodları
1 | <label runat="server" id="LblMessage"></label> |
Sayfamızın load’ında bir önceki sayfayı almamız için yazmamız gereken kod
1 2 3 4 5 | var last = PreviousPage; if (last != null) { LblMessage.InnerText = ((TextBox) last.FindControl("TxtName")).Text; } |