2009-08-21 10 views

cevap

15

ASP.NET vatansız bir anlam taşıdığından, geri postadan geri gönderme durumuna geçmez. Geri gönderme için geri göndermede görmek için kullanıcıyı görüntülenme, oturum veya uygulamaya kaydedin.

#region UserName 
public string UserName 
{ 
    get 
    { 
     if (this.ViewState["UserName"] == null) 
      return string.Empty; 

     return (string)this.ViewState["UserName"]; 
    } 
    set { this.ViewState["UserName"] = value; } 
} 
#endregion 
+0

ancak her sayfa yükünde kullanıcı adı = (string) Request.QueryString ["kullanıcı adı"]; '' yapıyor. – Kobi

+0

@David Basarab, bir çözüm istemiyorum. Btwn etkisinin farkını bilmeye çalışıyorum. Bu durumda özel olarak korunmuş. – anonymous

5

hatta düğme tıklama etkinlikler gibi "basit" şeyler için, herhangi bir geri gönderme yapmak her zaman, sayfa sınıfının yeni bir örneği çalışıyoruz. Bu ASP.Net 101.

+0

Yeni bir sayfaya yönlendirirseniz veya yeni bir sorgu dizesi içeren bir sayfa yüklerseniz, bu bir geri gönderme değildir. Sorgu dizgisi olan bir sayfada bir düğme tıklama olayını işlerseniz, bu bir geri gönderme olur ve sorgu dizesi geri gönderim http isteği ile birlikte gönderilir. Her iki durumda da, hala sayfa sınıfının yeni bir örneğidir. –

+0

Korunmaya karşı özel ile ilgili cevabımı bulamadım. Buna ek olarak, – anonymous

1

Kullanıcı adı alanının özel veya korumalı olarak bildirilmesinin bu durumla bir ilişkisi yoktur. Korumalı/özel olan tek mesele, değişkenlerin sınıfın dışında veya miras kalan üyelerin erişilebilirliğidir.

Bunun bir yaşam döngüsü problemi olabileceğine inanıyorum.

Bu sayfaya ilk kez gittiğinizde, kullanıcı adı yalnızca sorgu dizesi istek için ayarlanmışsa bir değere sahip olacaktır. Yani, "/TeacherControlPanel.aspx" değeri olmayan bir kullanıcı adı olacaktır, ancak "/TeacherControlPanel.aspx?username=SomeUserName". Bu durumlarda, alan kullanıcı adı yalnızca ayarlanmışsa bir değere sahip olacaktır. Ve eğer herhangi bir sorguç kümesi ayarlanmazsa, sayfa düğme tıklama olayını işlediğinde, yük tetiklenir, sorgu dizesi kümesi, kullanıcı adının geçersiz olacağı anlamına gelir; bu, tıklama etkinliğinin yeniden yönlendirme dizisine eklenecek hiçbir şeye sahip olmayacağı anlamına gelir.

Soru şu ki, uygulamanızda, TeacherControlPanel.aspx'e ulaşmak için hangi navigasyon yolunu kullanıyorsunuz?

+2

ek olarak, özel bir alan yokken, korunan bir alan sayfada görünür olacak (TeacherControlPanel.aspx,deyimleri). – Kobi

İlgili konular