ASP.NET web projelerinde bir sayfa içinde veya başka bir sayfaya geçişte veri transferi yöntemleri kısaca şunlardır: GET, POST, SESSION, APPLICATION, COOKIE, VIEWSTATE, PREVIOUSPAGE ve CONTEXT

Online C# ve VB kod çevrimi için tavsiye link :  http://www.carlosag.net/Tools/CodeTranslator

Örnek projenin indirme adresi: http://cid-d0b01df58868413e.office.live.com/self.aspx/Ortak/ornekler/ASPNETdataTransfer.rar

GET: adres çubuğundan gönderilir, 2 KB boyut sınırı vardır ve güvenlik gerektirmeyen durumlarda (arama yaparken) kullanılabilir.

Gönderirken:

Response.Redirect("sayfa2.aspx?yontem1=123qwe")

Okurken:

Label1.Text = Request.QueryString("yontem1")

POST: arka plandan gönderilir, üye girişi gibi durumlarda kullanılabilir.

Gönderirken: Sayfanın kaynağındaki Form1’in method özelliği post seçilir. Gönder düğmesinin PostBackUrl’si hedef sayfa olarak değiştirilir.

<form id="form1" runat="server" method="post">
<asp:TextBox ID="yontem2" runat="server">qwe123</asp:TextBox>
<asp:Button ID="Button2" runat="server" PostBackUrl="~/sayfa2.aspx" Text="Gönder" />
</form>

Okurken:

Label2.Text = Request("yontem2")

SESSION: web tarayıcısı kapanana kadar oturum içinde veri saklanır. Genelde üye girişi sonrası bilgi tutmak için kullanılır. İçinde metin, sayı, tarih saklanabildiği gibi dizi de tutulabilir.

Gönderirken:

Session("yontem3") = "12qw3"
Response.Redirect("~/sayfa2.aspx")

Okurken:

Label3.Text = Session("yontem3")

APPLICATION: sunucu kapanana kadar veri saklanır. Ziyaretçi sayacı, sohbet  gibi özellikler için kullanılabilir.

Gönderirken:

Application("yontem4") = "1qw23"
Response.Redirect("~/sayfa2.aspx")

Okurken:

Label4.Text = Application("yontem4")

COOKIE:  istemci yani yereldeki bir çerez (metin dosyası) içinde saklanan veri. İçine güvenlik gerektiren bilgiler yazılmamalıdır ve çerezlerin tarayıcı ayarlarından kapatılabileceği unutulmamalıdır. Genelde kullanıcı adının hatırlanması gibi durumlarda kullanılabilir.

Gönderirken:

Dim cerez As New HttpCookie("cerezo")
cerez.Values.Add("yontem5", "qwe123c")
cerez.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(cerez)
Response.Redirect("~/sayfa2.aspx")

Okurken:
Label5.Text = Request.Cookies("cerezo")("yontem5")

VIEWSTATE: sayfadaki nesneler veya bir değişkeni yollayabiliriz, bilgiyi sadece gönderen sayfa içinde kullanabiliriz. Diğer sayfalar için kalıcı değildir.

Gönderirken:

ViewState("yontem6") = "qwe123v"
Server.Transfer("~/sayfa2.aspx")

Okurken:

Label6.Text = ViewState("yontem6")

PREVIOUSPAGE: bir önceki sayfadaki bir değeri veya nesne özelliğini bu komut ile elde edebiliriz. Okuyan sayfa yenilendiğinde veri silinir.

Gönderirken:
Önceki sayfada yontem7 adında bir metin kutusu olması yeterlidir. Düğme içine:

Server.Transfer("~/sayfa2.aspx")

Okurken:

Dim gelenMetinKutusu As TextBox = CType(PreviousPage.FindControl("yontem7"), TextBox)
Label7.Text = String.Format("{0}", gelenMetinKutusu.Text)

CONTEXT: bir sayfadan diğerine geçici olarak veri göndermenin bir diğer yoludur. Veri okunduktan sonra silinir, yani sayfa yenilendiğinde kalıcı olmaz.

Gönderirken:

Context.Items.Add("yontem8", "qwe123cont")
Server.Transfer("~/sayfa2.aspx")

Okurken:

Label8.Text = Context.Items("yontem8")