Sunucu Denetimleri
Microsoft tarafından
ASP.NET 2.0, sunucu denetimlerini birçok şekilde geliştirir. Bu modülde, ASP.NET 2.0 ve Visual Studio 2005'in sunucu denetimleriyle anlaşma yönteminde bazı mimari değişiklikleri ele alacağız.
ASP.NET 2.0, sunucu denetimlerini birçok şekilde geliştirir. Bu modülde, ASP.NET 2.0 ve Visual Studio 2005'in sunucu denetimleriyle anlaşma yönteminde bazı mimari değişiklikleri ele alacağız.
Durumu görüntüle
ASP.NET 2.0'da görüntüleme durumundaki birincil değişiklik, boyutun önemli ölçüde azalmasıdır. Üzerinde yalnızca Takvim denetimi bulunan bir sayfayı düşünün. ASP.NET 1.1'deki görünüm durumu aşağıdadır.
dDwtMTg1NDkwMjc0Nzt0PDtsPGk8MT47PjtsPHQ8O2w8aTwxPjs
+O2w8dDxAMDxwPHA8bDxTRDs+O2w8bDxTeXN0ZW0uRGF0ZVRpbWUsIG1
zY29ybGliLCBWZXJzaW9uPTEuMC41MDAwLjAsIEN1bHR1cmU9bmV1dHJ
hbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwyMDA1LTE
xLTA4Pjs+Oz4+Oz47Ozs7Ozs7Ozs7Pjs7Pjs+Pjs+Pjs+lkX2YWqfACtP
/VWr8G03pob/+tU=
Şimdi, ASP.NET 2.0'da aynı sayfadaki görünüm durumu aşağıdadır.
/wEPDwULLTEzNjg5MjAxMzgPZBYCAgMPZBYCAgEPPCsAC
gEADxYCHgJTRBYBBgDAEX8OsscIZGRkllfArINjlhvzQX7Xfign2q6HK5E=
Bu oldukça önemli bir değişikliktir ve görüntüleme durumunun kablo üzerinden ileri geri taşındığını göz önünde bulundurarak bu değişiklik geliştiricilere önemli bir performans artışı sağlayabilir. Görünüm durumunun boyutunun azalması büyük ölçüde bunu dahili olarak işleme şeklimizdir. Görünüm durumunun Base64 ile kodlanmış bir dize olduğunu unutmayın. ASP.NET 2.0'daki görünüm durumundaki değişikliği daha iyi anlamak için yukarıdaki örneklerden kodu çözülen değerlere göz atalım.
Kodu çözülen 1.1 görünüm durumu aşağıda belirtilmiştir:
t<-1854902747;t<;l<i<1>;>;l<t<;l<
i<1>;>;l<t<@0<p<p<l<SD;>;l<l<
System.DateTime, mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089<2005-11-08>;>;>>;
>;;;;;;;;;;>;;>;>>;>>;>Eaj
Bu biraz anlamsız görünebilir ama burada bir düzen var. ASP.NET 1.x'te, karakterleri kullanarak <> veri türlerini ve sınırlandırılmış değerleri tanımlamak için tek karakterler kullandık. Yukarıdaki görünüm durumu örneğindeki "t" bir Üçlü'leri temsil eder. Üçlü diziliste çifti içerir ("l" bir ArrayList'i temsil eder.) Bu ArrayLists'lerden biri 1 değerine sahip bir Int32 ("i") ve diğeri başka bir Üçlü içerir. Üçlü dizi listesi çifti vb. içerir. Unutmamanız gereken önemli şey, çiftler içeren üçlüleri kullanmamız, veri türlerini bir harf aracılığıyla tanımlamamız ve ve > karakterlerini sınırlayıcı olarak kullanmamızdır<.
ASP.NET 2.0'da kodu çözülen görünüm durumu biraz farklı görünür.
-1368920138 d
d
SD
dddWc A ('ڮ
Kodu çözülen görünüm durumunun görünümünde büyük bir değişiklik olduğunu fark etmelisiniz. Bu değişikliğin çeşitli mimari temelleri vardır. view state in ASP.NET 1.x used the LosFormatter to serialize data. 2.0'da yeni ObjectStateFormatter sınıfını kullanırız. Bu sınıf, görünüm durumunun ve denetim durumunun seri hale getirilmesine ve seri durumdan çıkarılmasına yardımcı olmak için özel olarak tasarlanmıştır. (Denetim durumu bir sonraki bölümde ele alınacaktır.) Serileştirme ve seri durumdan çıkarmanın gerçekleştiği yöntemi değiştirerek elde edilen birçok avantaj vardır. En çarpıcılarından biri, TextWriter kullanan LosFormatter'ın aksine ObjectStateFormatter'ın binaryWriter kullanmasıdır. Bu, ASP.NET 2.0'ın görünüm durumunu dizeler yerine bir bayt serisi depolamasına olanak tanır. Örneğin bir tamsayı alın. ASP.NET 1.1'de, bir tamsayı 4 bayt görüntüleme durumu gerektiriyor. ASP.NET 2.0'da aynı tamsayı yalnızca 1 bayt gerektirir. Depolanan görüntüleme durumu miktarını azaltmak için başka geliştirmeler yapıldı. Örneğin DateTime değerleri artık dize yerine TickCount kullanılarak depolanır.
Tüm bunlar yeterli değilmiş gibi, 1.x'te görüntüleme durumunun en büyük tüketicilerinden birinin DataGrid ve benzer denetimler olmasına özel dikkat gösterildi. Görüntüleme durumunun söz konusu olduğu DataGrid gibi denetimlerin önemli bir dezavantajı, genellikle büyük miktarlarda yinelenen bilgi içermesidir. ASP.NET 1.x'te, yinelenen bilgiler tekrar tekrar depolandığından şişirilmiş görünüm durumu elde edildi. ASP.NET 2.0'da bu tür verileri depolamak için yeni IndexedString sınıfını kullanırız. Bir dize yinelanırsa IndexedString ve dizin için belirteci indexedString nesnelerinin çalışan bir tablosunda depolarız.
Denetim Durumu
Geliştiricilerin görüntüleme durumuyla ilgili en önemli kavramalarından biri, HTTP yüküne eklemiş olduğu boyuttu. Daha önce belirtildiği gibi, görüntüleme durumunun en büyük tüketicilerinden biri DataGrid denetimidir. Bir DataGrid tarafından oluşturulan çok büyük miktarda görüntüleme durumundan kaçınmak için, birçok geliştirici bu denetimin görüntüleme durumunu devre dışı bırakılmıştır. Ne yazık ki bu çözüm her zaman iyi bir çözüm değildi. ASP.NET 1.x'teki görünüm durumu yalnızca denetimin doğru işlevselliği için gerekli verileri içermez. Ayrıca denetimin kullanıcı arabiriminin durumuyla ilgili bilgiler de içerir. Bu, DataGrid'de sayfalandırmaya izin vermek istiyorsanız, görüntüleme durumunun içerdiği tüm kullanıcı arabirimi bilgilerine ihtiyacınız olmasa bile görüntüleme durumunu etkinleştirmeniz gerektiği anlamına gelir. Bu bir ya hep ya hiç senaryosu.
ASP.NET 2.0'da denetim durumu, denetim durumunun kullanıma sunulmasıyla bu sorunu güzel bir şekilde çözer. Denetim durumu, bir denetimin düzgün işlevselliği için kesinlikle gerekli olan verileri içerir. Görünüm durumundan farklı olarak denetim durumu devre dışı bırakılamaz. Bu nedenle, denetim durumunda depolanan verilerin dikkatle denetlenmiş olması önemlidir.
Not
Denetim durumu, __VIEWSTATE gizli form alanındaki görünüm durumuyla birlikte kalıcı hale gelir.
Bu video, görüntüleme durumu ve denetim durumunun kılavuzudur.
Full-Screen Video'Full-Screen açma
Bir sunucu denetiminin denetim durumunu okuması ve yazması için üç adım atmalısınız.
1. Adım: RegisterRequiresControlState Yöntemini Çağırma
RegisterRequiresControlState yöntemi, ASP.NET bir denetimin denetim durumunu kalıcı hale getirmesi gerektiğini bildirir. Kaydedilmekte olan denetim olan Control türünde bir bağımsız değişken alır.
Kaydın istekten isteğe kalıcı olmadığını unutmayın. Bu nedenle, bir denetim denetim durumunu kalıcı hale getirmek için ise her istekte bu yöntem çağrılmalıdır. Yönteminin OnInit'te çağrılmış olması önerilir.
protected override void OnInit(EventArgs e) { Page.RegisterRequiresControlState(this); base.OnInit(e); }
2. Adım: SaveControlState'i Geçersiz Kılma
SaveControlState yöntemi, son geri göndermeden sonra bir denetim için denetim durumu değişikliklerini kaydeder. Denetimin durumunu temsil eden bir nesne döndürür.
3. Adım: LoadControlState'i Geçersiz Kılma
LoadControlState yöntemi, kaydedilmiş durumu bir denetime yükler. yöntemi, denetimin kaydedilmiş durumunu tutan Object türünde bir bağımsız değişken alır.
Tam XHTML Uyumluluğu
Herhangi bir Web geliştiricisi, Web uygulamalarında standartların önemini bilir. Standart tabanlı geliştirme ortamını korumak için ASP.NET 2.0 tamamen XHTML uyumludur. Bu nedenle, tüm etiketler HTML 4.0 veya üzerini destekleyen tarayıcılarda XHTML standartlarına göre işlenir.
ASP.NET 1.1'deki DOCTYPE tanımı aşağıdaki gibidir:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN
ASP.NET 2.0'da varsayılan DOCTYPE tanımı aşağıdaki gibidir:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Seçerseniz, yapılandırma dosyasındaki xhtmlConformance düğümü aracılığıyla varsayılan XHTML uyumluluğunu değiştirebilirsiniz. Örneğin, web.config dosyasındaki aşağıdaki düğüm XHTML uyumluluğunu XHTML 1.0 Strict olarak değiştirir:
<xhtmlConformance mode="Strict" />
İsterseniz, ASP.NET aşağıdaki gibi ASP.NET 1.x'te kullanılan eski yapılandırmayı kullanacak şekilde de yapılandırabilirsiniz:
<xhtmlConformance mode="Legacy" />
Bağdaştırıcıları Kullanarak Uyarlamalı İşleme
ASP.NET 1.x'te yapılandırma dosyası, HttpBrowserCapabilities <> nesnesini dolduran bir browserCaps bölümü içeriyor. Bu nesne, bir geliştiricinin hangi cihazın belirli bir istekte bulunmakta olduğunu belirlemesine ve kodu uygun şekilde işlemesine izin verdi. ASP.NET 2.0 sürümünde model geliştirilmiştir ve şimdi yeni ControlAdapter sınıfını kullanmaktadır. ControlAdapter sınıfı, denetimin yaşam döngüsündeki olayları geçersiz kılar ve kullanıcı aracısının özelliklerine göre denetimlerin işlenmesini denetler. Belirli bir kullanıcı aracısının özellikleri, c:\windows\microsoft.net\framework\v2.0.****\CONFIG\Browsers klasöründe depolanan bir tarayıcı tanım dosyası (.browser dosya uzantısına sahip bir dosya) tarafından tanımlanır.
Not
ControlAdapter sınıfı soyut bir sınıftır.
Tarayıcı tanım dosyası, 1.x'teki browserCaps> bölümünde olduğu gibi<, isteyen tarayıcıyı tanımlamak için kullanıcı aracısı dizesini ayrıştırmak için Normal İfade kullanır. Bu kullanıcılar, söz konusu kullanıcı aracısı için belirli özellikleri tanımlar. ControlAdapter, render yöntemi aracılığıyla denetimi işler. Bu nedenle, Render yöntemini geçersiz kılarsanız, temel sınıfta Render çağırmamalısınız. Bunu yapmak, işlemenin bir kez bağdaştırıcı ve bir kez denetimin kendisi için olmak üzere iki kez gerçekleşmesine neden olabilir.
Özel Bağdaştırıcı Geliştirme
ControlAdapter'dan devralarak kendi özel bağdaştırıcınızı geliştirebilirsiniz. Ayrıca, bir sayfa için bağdaştırıcının gerekli olduğu durumlarda PageAdapter soyut sınıfından devralabilirsiniz. Denetimlerin özel bağdaştırıcınıza eşleştirilmesi, tarayıcı tanım dosyasındaki <controlAdapters> öğesi aracılığıyla gerçekleştirilir. Örneğin, bir tarayıcı tanım dosyasındaki aşağıdaki XML, Menü denetimini MenuAdapter sınıfıyla eşler:
<controlAdapters> <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter" /> </controlAdapters>
Bu modeli kullanarak, bir denetim geliştiricinin belirli bir cihazı veya tarayıcıyı hedeflemesi oldukça kolay hale gelir. Bir geliştiricinin sayfaların her cihazda nasıl işlenmeleri üzerinde tam denetim sahibi olması da oldukça basittir.
Per-Device İşleme
ASP.NET 2.0'daki sunucu denetimi özellikleri, tarayıcıya özgü bir ön ek kullanılarak cihaz başına belirtilebilir. Örneğin, aşağıdaki kod, sayfaya göz atmak için hangi cihazın kullanıldığına bağlı olarak etiketin Metni'ni değiştirir.
<asp:Label ID="lblBrowser" runat="server" Text="You are browsing from an unknown device." ie:Text="You are browsing from Internet Explorer." mozilla:Text="You are browsing from Firefox."> </asp:Label>
Bu etiketi içeren sayfaya Internet Explorer'dan göz atıldığında, etiket "Internet Explorer'dan gözatıyorsanız" metnini görüntüler. Sayfaya Firefox'tan göz atıldığında, etikette "Firefox'tan gözatıyorsanız" metni görüntülenir. Sayfaya başka bir cihazdan göz atıldığında , "Bilinmeyen bir cihazdan gözatıyorsanız" ifadesi görüntülenir. Herhangi bir özellik bu özel söz dizimi kullanılarak belirtilebilir.
Odak Ayarlama
ASP.NET 1.x geliştiricileri sık sık belirli bir denetime ilk odağın nasıl ayarlanacağı hakkında sorular sorar. Örneğin, bir oturum açma sayfasında, sayfa ilk yüklendiğinde Kullanıcı Kimliği metin kutusunun odağı alması yararlı olur. ASP.NET 1.x'te, bunu yapmak için bazı istemci tarafı betikleri yazmak gerekir. Böyle bir betik önemsiz bir görev olsa da, SetFocus yöntemi sayesinde artık ASP.NET 2.0'da gerekli değildir. SetFocus yöntemi, odağı alması gereken denetimi belirten bir bağımsız değişken alır. Bu bağımsız değişken, denetimin dize olarak istemci kimliği veya Denetim nesnesi olarak Sunucu denetiminin adı olabilir. Örneğin, sayfa ilk yüklendiğinde ilk odağı txtUserID adlı bir TextBox denetimine ayarlamak için, Page_Load aşağıdaki kodu ekleyin:
if (!IsPostBack) {
SetFocus(txtUserID);
}
--Veya
if (!IsPostBack) {
SetFocus(txtUserID.ClientID);
}
ASP.NET 2.0, odağı ayarlayan bir istemci tarafı işlevi işlemek için Webresource.axd işleyicisini (daha önce ele alınmıştı) kullanır. İstemci tarafı işlevinin adı burada gösterildiği gibi WebForm_AutoFocus:
<script type="text/javascript"> <!-- WebForm_AutoFocus('txtUserID'); // --> </script>
Alternatif olarak, bir denetimin Odak yöntemini kullanarak ilk odağı bu denetime ayarlayabilirsiniz. Focus yöntemi Control sınıfından türetilir ve tüm ASP.NET 2.0 denetimleri tarafından kullanılabilir. Doğrulama hatası oluştuğunda odağı belirli bir denetime ayarlamak da mümkündür. Bu, sonraki bir modülde ele alınacaktır.
ASP.NET 2.0'da Yeni Sunucu Denetimleri
ASP.NET 2.0'daki yeni sunucu denetimleri aşağıdadır. Sonraki modüllerde bunlardan bazıları hakkında daha fazla ayrıntıya ineceğiz.
ImageMap Denetimi
ImageMap denetimi, bir görüntüye geri gönderme başlatabilen veya URL'ye gidebilen etkin noktalar eklemenize olanak tanır. Üç tür etkin nokta vardır; CircleHotSpot, RectangleHotSpot ve PolygonHotSpot. Etkin noktalar Visual Studio'da bir koleksiyon düzenleyicisi aracılığıyla veya kodda program aracılığıyla eklenir. Görüntüdeki etkin noktaları çizmek için kullanılabilir kullanıcı arabirimi yoktur. Etkin noktanın koordinatları ve boyutu veya yarıçapı bildirim temelli olarak belirtilmelidir. Tasarımcıda etkin noktanın görsel gösterimi de yoktur. Bir etkin nokta url'ye gitmek üzere yapılandırılmışsa, URL etkin noktanın NavigateUrl özelliği aracılığıyla belirtilir. Geri gönderme etkin noktası durumunda PostBackValue özelliği, geri göndermede sunucu tarafı kodunda alınabilecek bir dize geçirmenizi sağlar.
Şekil 1: Visual Studio'da HotSpot Koleksiyon Düzenleyicisi
BulletedList Denetimi
BulletedList denetimi, kolayca verilere bağlanabilen madde işaretli bir listedir. Liste BulletStyle özelliği aracılığıyla sıralı (numaralandırılmış) veya sıralanmamış olabilir. Listedeki her öğe bir ListItem nesnesiyle temsil edilir.
Şekil 2: Visual Studio'da BulletedList Denetimi
HiddenField Denetimi
HiddenField denetimi, değeri sunucu tarafı kodunda bulunan gizli bir form alanını sayfanıza ekler. Gizli form alanının değerinin genellikle geri göndermeler arasında değişmeden kalması beklenir. Ancak, kötü amaçlı bir kullanıcının geri göndermeden önce değeri değiştirmesi mümkündür. Böyle bir durumda HiddenField denetimi ValueChanged olayını tetikler. HiddenField denetiminde hassas bilgileriniz varsa ve bunun değişmediğinden emin olmak istiyorsanız, kodunuzda ValueChanged olayını işlemeniz gerekir.
FileUpload Denetimi
ASP.NET 2.0'daki FileUpload denetimi, bir ASP.NET sayfası aracılığıyla web sunucusuna dosya yüklemeyi mümkün kılar. Bu denetim, birkaç özel durumla ASP.NET 1.x HtmlInputFile sınıfına oldukça benzer. ASP.NET 1.x'te, iyi bir dosyanız olup olmadığını belirlemek için PostedFile özelliğinin null olarak denetlenmesi önerilir. ASP.NET 2.0'daki FileUpload denetimi, aynı amaç için kullanabileceğiniz yeni bir HasFile özelliği ekler ve biraz daha verimlidir.
PostedFile özelliği bir HttpPostedFile nesnesine erişim için hala kullanılabilir, ancak HttpPostedFile'ın bazı işlevleri artık FileUpload denetimiyle içsel olarak kullanılabilir. Örneğin, karşıya yüklenen bir dosyayı ASP.NET 1.x'e kaydetmek için, HttpPostedFile nesnesinde SaveAs yöntemini çağırırsınız. ASP.NET 2.0'daki FileUpload denetimini kullanarak FileUpload denetiminin kendisinde SaveAs yöntemini çağırabilirsiniz.
2.0 davranışındaki bir diğer önemli değişiklik (ve büyük olasılıkla en önemli değişiklik), karşıya yüklenen dosyanın tamamını kaydetmeden önce belleğe yüklemenin artık gerekli olmamasıdır. 1.x'te, karşıya yüklenen tüm dosyalar diske yazılmadan önce tamamen belleğe kaydedilir. Bu mimari, büyük dosyaların karşıya yüklenmesini engeller.
ASP.NET 2.0'da httpRuntime öğesinin requestLengthDiskThreshold özniteliği, diske yazılmadan önce bellekte kaç Kilobayt tutulacaklarını yapılandırmanıza olanak tanır.
ÖNEMLİ: MSDN belgeleri (ve başka bir yerdeki belgeler) bu değerin bayt (Kilobayt değil) cinsinden olduğunu ve varsayılan değerin 256 olduğunu belirtir. Değer aslında Kilobayt cinsinden belirtilir ve varsayılan değer 80'dir. Varsayılan değeri 80K olduğundan, arabelleğinde büyük nesne yığınının bulunmamasını sağlarız.
Sihirbaz Denetimi
Panelleri kullanarak veya sayfadan sayfaya aktararak bir dizi "sayfada" bilgi toplamaya çalışan ASP.NET geliştiricilerle karşılaşmak oldukça yaygındır. Çoğu zaman, çaba sinir bozucu bir çabadır ve zaman alıcıdır. Yeni Sihirbaz denetimi, kullanıcıların aşina olduğu bir sihirbaz arabiriminde doğrusal ve doğrusal olmayan adımlara izin vererek sorunları çözer. Sihirbaz denetimi, giriş formlarını bir dizi adımda sunar. Her adım, denetimin StepType özelliği tarafından belirtilen belirli bir türdedir. Kullanılabilir adım türleri şunlardır:
Adım Türü | Açıklama |
---|---|
Otomatik | Sihirbaz, adım hiyerarşisi içindeki konumuna göre adım türünü otomatik olarak belirler. |
Başlangıç | İlk adım, genellikle bir giriş deyimi sunmak için kullanılır. |
Adım | Normal bir adım. |
Son | Son adım, genellikle sihirbazı tamamlamak için bir düğme sunmak için kullanılır. |
Tamamla | Başarılı veya başarısız olduğunu belirten bir ileti sunar. |
Not
Sihirbaz denetimi, ASP.NET denetim durumunu kullanarak durumunu izler. Bu nedenle, EnableViewState özelliği herhangi bir zarar vermeden false olarak ayarlanabilir.
Bu video, Sihirbaz denetiminin izlenecek yoludur.
Full-Screen Video'Full-Screen aç
Denetimi Yerelleştirme
Localize denetimi Değişmez Değer denetimine benzer. Ancak, Localize denetimine eklenen işaretlemenin nasıl işleneceğini denetleen bir Mode özelliğine sahiptir. Mode özelliği aşağıdaki değerleri destekler:
Mode | Açıklama |
---|---|
Dönüşüm | İşaretlemesi, isteği yapan tarayıcının protokolüne göre dönüştürülür. |
Geçiş | İşaretlemeyi olduğu gibi işlenir. |
Kodlama | Denetime eklenen işaretleme HtmlEncode kullanılarak kodlanır. |
MultiView ve Görünüm Denetimleri
MultiView denetimi Görünüm denetimleri için bir kapsayıcı görevi görür ve Görünüm denetimi de diğer denetimler için kapsayıcı (Panel denetimi gibi) işlevi görür. MultiView denetimindeki her görünüm tek bir Görünüm denetimiyle temsil edilir. MultiView'daki ilk Görünüm denetimi görünüm 0, ikinci görünüm 1 vb. MultiView denetiminin ActiveViewIndex değerini belirterek görünümleri değiştirebilirsiniz.
Değiştirme Denetimi
Değiştirme denetimi, ASP.NET önbelleğe alma ile birlikte kullanılır. Önbelleğe alma özelliğinden yararlanmak istediğiniz ancak sayfanın her istekte güncelleştirilmesi gereken bölümlerine sahip olduğunuz durumlarda (başka bir deyişle, sayfanın önbelleğe alma dışında kalan bölümleri), Değiştirme bileşeni harika bir çözüm sağlar. Denetim aslında kendi başına herhangi bir çıkış işlemez. Bunun yerine, sunucu tarafı koddaki bir yönteme bağlıdır. Sayfa istendiğinde yöntemi çağrılır ve döndürülen işaretleme değiştirme denetimi yerine işlenir.
Değiştirme denetiminin bağlı olduğu yöntem MethodName özelliği aracılığıyla belirtilir. Bu yöntem aşağıdaki ölçütleri karşılamalıdır:
- Statik (VB'de paylaşılan) bir yöntem olmalıdır.
- HttpContext türünde bir parametre kabul eder.
- Sayfadaki denetimin yerini alması gereken işaretlemeyi temsil eden bir dize döndürür.
Değiştirme denetiminin sayfadaki diğer denetimleri değiştirme özelliği yoktur, ancak parametresi aracılığıyla geçerli HttpContext'e erişimi vardır.
GridView Denetimi
GridView denetimi, DataGrid denetiminin yerini alır. Bu denetim sonraki bir modülde daha ayrıntılı olarak ele alınacaktır.
DetailsView Denetimi
DetailsView denetimi, veri kaynağındaki tek bir kaydı görüntülemenize ve düzenlemenize veya silmenize olanak tanır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
FormView Denetimi
FormView denetimi, yapılandırılabilir bir arabirimde bir veri kaynağından tek bir kaydı görüntülemek için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
AccessDataSource Denetimi
AccessDataSource denetimi, access veritabanını bağlamak için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
ObjectDataSource Denetimi
ObjectDataSource denetimi, denetimlerin doğrudan veri kaynağına bağlı olduğu iki katmanlı modelin aksine orta katman iş nesnesine veri bağlanabilmesi için üç katmanlı bir mimariyi desteklemek için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınacaktır.
XmlDataSource Denetimi
XmlDataSource denetimi, xml veri kaynağına veri bağlamak için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
SiteMapDataSource Denetimi
SiteMapDataSource denetimi, site haritasına dayalı site gezinti denetimleri için veri bağlama sağlar. Sonraki bir modülde daha ayrıntılı olarak ele alınacaktır.
SiteMapPath Denetimi
SiteMapPath denetimi, içerik haritaları olarak adlandırılan bir dizi gezinti bağlantısı görüntüler. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Menü Denetimi
Menü denetimi DHTML kullanarak dinamik menüleri görüntüler. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
TreeView Denetimi
TreeView denetimi, verilerin hiyerarşik ağaç görünümünü görüntülemek için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Oturum Açma Denetimi
Oturum açma denetimi, bir Web sitesinde oturum açmak için bir mekanizma sağlar. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
LoginView Denetimi
LoginView denetimi, kullanıcının oturum açma durumuna göre farklı şablonların görüntülenmesini sağlar. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
PasswordRecovery Denetimi
PasswordRecovery denetimi, bir ASP.NET uygulamasının kullanıcıları tarafından unutulan parolaları almak için kullanılır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Loginstatus
LoginStatus denetimi kullanıcının oturum açma durumunu görüntüler. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Loginname
LoginName denetimi, ASP.NET bir uygulamada oturum açtıktan sonra kullanıcının kullanıcı adını görüntüler. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
CreateUserWizard
CreateUserWizard, kullanıcılara ASP.NET bir uygulamada kullanmak üzere ASP.NET Üyelik hesabı oluşturma olanağı sağlayan yapılandırılabilir bir sihirbazdır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Changepassword
ChangePassword denetimi, kullanıcıların ASP.NET bir uygulama için parolalarını değiştirmesine olanak tanır. Sonraki bir modülde daha ayrıntılı olarak ele alınmıştır.
Çeşitli WebPart'lar
ASP.NET 2.0, çeşitli Web Bölümleri ile birlikte gönderimde bulunur. Bunlar sonraki bir modülde ayrıntılı olarak ele alınacaktır.