üzerinde değer kaybeder.ASP.NET özel üye alanı şu kodu göz önünde bulundurun postback
Neden?
Sırrı nedir?
üzerinde değer kaybeder.ASP.NET özel üye alanı şu kodu göz önünde bulundurun postback
Neden?
Sırrı nedir?
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
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.
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. –
Korunmaya karşı özel ile ilgili cevabımı bulamadım. Buna ek olarak, – anonymous
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?
ek olarak, özel bir alan yokken, korunan bir alan sayfada görünür olacak (TeacherControlPanel.aspx,deyimleri). – Kobi
Kodun yazılı olarak çalıştığını, ancak kullanıcı adını özel bir değişkene değiştirdiğinizde başarısız olduğunu mu söylüyorsunuz? –
Null veya string.Empty için başlatıldı mı? – Martin
@Martin, boş. – anonymous