Makale numarası: 913721 - Son Gözden Geçirme: 22 Kasım 2007 Perşembe - Gözden geçirme: 1.4

ASP.NET 2. 0'Akıllı gezinme özelliklerini nasıl

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Giriş

Akıllı gezinme, Microsoft ASP.NET 2. 0'da önerilmiyor ve Microsoft Ürün Destek Hizmetleri tarafından artık desteklenmemektedir. Bu makalede, ASP.NET 2. 0 ' nasıl Akıllı gezinme özelliklerini açıklar.

Daha fazla bilgi

ASP.NET'in önceki sürümlerinde, Akıllı gezinme Page.SmartNavigation özelli?ini kullanarak etkinleştirin. Page.SmartNavigation özelliği true olarak ayarlandığında, aşağıdaki Akıllı gezinme özellikleri etkinleştirilir:
  • Bir Web sayfasını kaydırma konumu, geri gönderme sonra korunur.
  • Öğe odağı bir <a0>Web</a0> sayfasında, gezinti sırasında tutulur.
  • Yalnızca en son Web sayfası durumu, Web tarayıcısı geçmiş klasöründe saklanır.
  • Bir Web sayfasında gezinme sırasında oluşabilecek titreşme efekti simge durumuna küçültülür.
Bu makalede, Akıllı gezinme özelliklerini ASP.NET 2. 0 ' Page.SmartNavigation özelliğini kullanmadan nasıl.

Kaydırma konumu korunması

Sonra geri gönderme kaydırma konumu bir Web sayfasını korumak için <a0></a0>, Page.MaintainScrollPositionOnPostBack özelliğini kullanın. Page.MaintainScrollPositionOnPostBack özelli?i hakk?nda daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.ui.page.maintainscrollpositiononpostback.aspx (http://msdn2.microsoft.com/en-us/library/system.web.ui.page.maintainscrollpositiononpostback.aspx)

Öğe odağı korunması

Web sayfasında bir öğe Odağı Gezinti sırasında korumak için <a0></a0>, Page.SetFocus yöntemini kullanın. Page.SetFocus yöntemi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.ui.page.setfocus.aspx (http://msdn2.microsoft.com/en-us/library/system.web.ui.page.setfocus.aspx)

Yalnızca en son Web sayfası durumu Web tarayıcısı geçmiş klasöründe saklamanız nasıl kullanılır

Kullanıcının daha önce ziyaret ettiğiniz Web sayfalarına geri gitme önlemek için <a0></a0>, Web tarayıcısı geçmiş klasörüne eklenmesini ziyaret edilen Web sayfalarını engellemek gerekir. Ayrıca, Web tarayıcısı geçmiş klasörüne eklenmesini, ASP.NET sunucu denetimlerini oluşturduğu postbacks engel gerekir. Yalnızca en son Web sayfası durumu korunur ve hiçbir Web sayfaları Web tarayıcısı geçmiş klasöründe yoksa, Geri'yi kullanılamaz.

Tasarım gereği, Web tarayıcısı geçmiş klasörüne programsal olarak değiştiremezsiniz. Bu kısıtlama, bir çözüm için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Web tarayıcı önbelleğini devre dışı ve oturum değişkenleri kullanın.

Microsoft ınternet Explorer, Web tarayıcı önbelleğini devre dışı bırakırsanız, yalnızca ziyaret ettiğiniz Web sayfaları Web tarayıcısı geçmiş klasöründeki işaretçiler korur. Internet Explorer, Web sayfaları için gerçek içeriği korumaz. Bu nedenle, kullanıcı geri düğmesini tıklattığında, Web tarayıcısına bir Web sunucusu sayfayı isteği göndermeniz gerekir. ASP.NET oturum değişkenleri kullanarak, kullanıcı istenen sayfayı görüntüleyebilmeniz olup olmayacağını belirleyen bir algoritma yazabilirsiniz. Bir kullanıcı, istenen sayfa görüntülendiğinde ortaya çıkabilecek sorunlar Web uygulamasında, Web sunucusu Web tarayıcısı geçerli sayfanın yerine yönlendirebilirsiniz. Bu nedenle, hiçbir şey durum, kullanıcının geri düğmesini tıklattığında görünür.

Web tarayıcı önbelleğini devre dışı bırakmak için <a0></a0>, aşağıdaki yöntemlerden birini kullanın:
  • Web tarayıcı önbelleğinde ASP.NET @ OutputCache yönergesi kullanılarak devre dışı bırakın. Konum özniteliğini yok olarak ayarlandığında, Web tarayıcı önbelleğini devre dışı bırakılır. @ OutputCache yönergesi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
    http://msdn2.microsoft.com/en-us/library/hdxfb6cy.aspx (http://msdn2.microsoft.com/en-us/library/hdxfb6cy.aspx)
  • Web tarayıcı önbelleğinde Response.Cache.SetCacheability yöntemini kullanarak program aracılığıyla devre dışı. Response.Cache.SetCacheability yöntemi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
    http://msdn2.microsoft.com/en-us/library/c4yy9w70.aspx (http://msdn2.microsoft.com/en-us/library/c4yy9w70.aspx)
  • Web tarayıcı önbelleğinde < meta http-equiv > kullanarak devre dışı bırakın. Bir Web sayfasındaki HTML etiketi. Aşağıdaki HTML kod örneği, bunun nasıl yapılacağını gösterir.
    <html>
    <head>
      <meta http-equiv="Expires" content="0">
      <meta http-equiv="Cache-Control" content="no-cache">
      <meta http-equiv="Pragma" content="no-cache">
    </head>
    

Yöntem 2: gizli bir çerçeve içinde Web sayfası kullanın.

Bu yöntem, Akıllı gezinme tarafından dahili olarak kullanılan mekanizma benzer. Çerçeve görünür ve gizli bir çerçeve içeren bir Web sayfası oluşturun. Aşağıdaki HTML kod örneği, bunun nasıl yapılacağını gösterir.
<frameset cols="100%,*">
    <frame src="goback.html">
    <frame src="fillerpage.html">
</frameset>
Iki çerçeve, varolan bir Web sayfasını başvurmalıdır. Aksi durumda, Web tarayıcısının pencere Web sayfası bulunamıyor hata iletisi görüntüler. Gizli bir çerçeve sayfası (Fillerpage.html), içerik içermesi gerekir. Görünür bir çerçeve sayfası (goback.html), aşağıdaki HTML kodu içermelidir.
<meta http-equiv="refresh" content=".0; url=nobackpage.html">
Bir kullanıcı Web sayfasını ziyaret ettiğinde, her iki çerçeve yüklenir. Goback.html sayfası, görünür çerçeve hemen yeni bir Web sayfası için (Nobackpage.html) yönlendirir. Kullanıcı geri tıklatırsa goback.html sayfası yüklenir. Daha sonra goback.html sayfa hemen kullanıcı Nobackpage.html sayfaya yeniden yönlendirir.

Yöntem 3: location.replace yöntemi kullanın...

Location.replace yöntemini çağıran bir istemci tarafı komut dosyasını çalıştıran bir Web sayfası oluşturun. Bu durumda, Web tarayıcısına bir URL etkin pencere içeriği yükler. Içerik, etkin pencerede değiştirilir olduğundan, Web tarayıcısı Web sayfaları arasında gezinme için bu değiştirme dikkate almaz. Bu nedenle, girdi, Web tarayıcısı geçmiş klasörüne eklenir. Aşağıdaki HTML kodu örneği location.replace yönteminin nasıl kullanılacağını gösterir.
<a href="next.aspx" onclick="javascript:location.replace(this.href); event.returnValue=false; event.cancelBubble=true;">
Click here to visit the next page without adding the current page to the history folder.
</a>
Aşağıdaki kod örneği, bir C# yöntemi location.replace yöntemi kullanmak gösterilmiştir.
private void WebForm1_PreRender(object sender, System.EventArgs e)
{
    if (IsPostBack)
    {
        Response.Write("<html><head><script>location.replace('"+Request.Path+"');\n"+"</script></head><body></body></html>\n");
        Response.End();
    }
}
Location.replace yöntemi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms536712.aspx (http://msdn2.microsoft.com/en-us/library/ms536712.aspx)

Yöntem 4: window.history.forward yöntemi kullanın...

Window.history.forward yöntemini çağıran bir istemci tarafı komut dosyasını çalıştıran bir Web sayfası oluşturun. Bu durumda, Web tarayıcısı Web tarayıcısı geçmiş klasöründeki bir sayfa otomatik olarak ilerler. Bu nedenle, daha sonra postbacks Web tarayıcı geçmiş klasörüne eklenir. Kullanıcı geri tıklatırsa, kullanıcının geçerli Web sayfasına yeniden yönlendirilir.

Window.history.forward yöntemi location.replace yöntemiyle birlikte kullanabilirsiniz. Bu yöntemleri birlikte kullandığınızda, Web sayfaları ve postbacks arasında gezinti ele doğru.

Window.history.forward yöntemi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms536426.aspx (http://msdn2.microsoft.com/en-us/library/ms536426.aspx)

Yöntem 5: Web Uygulama mantığı Değiştir

Kullanıcı geri düğmesini tıklattığında, düzgün çalışabilmesi için bir Web Uygulama mantığı değiştirebilirsiniz. Kullanıcı geri düğmesini tıklattığında, gönderilen tüm veri bütünlüğünü ve kullanıcı durumu bütünlük Web uygulamasını tutmalıdır.

Gezinme sırasında oluşabilecek titreşme etkisini en aza nasıl kullanılır

Kullanıcı, sunucu denetimleri kullanan bir ASP.NET Web uygulamasında bir Web sayfasını görüntülediğinde, kullanıcı bir titreşme etkisi yaşayabilirsiniz. Titreşme etkisi, kullanıcı, bir denetimin değeri değiştiğinde ortaya çıkabilir. Denetim, bir geri gönderme oluşturursa, Web tarayıcısı, Web sunucusu için yeni bir Web sayfası durum isteği gönderir. Yeni Web sayfası durumu Web tarayıcısında işlenir, titreşme efekti oluşabilir.

Web sayfasını yeniden oluşturulmuş gerekir, çünkü bu titreşimi etkisini ortadan kaldırmak için hiçbir basit bir yolu vardır. Genellikle, bu davranış kullanıcıya belirgindir.

Not Web istemcisi ve Web sunucusu arasında bağlantı hızı çok hızlıdır, titreşme efekti unnoticeable olabilir.

Titreşme etkisini en aza indirmek için <a0></a0>, postbacks sayısını en aza indirmek veya postbacks ortadan kaldırır. Bunu yapmak için aşağıdaki yöntemlerden durumunuza uygun birini kullanın.

Yöntem 1: ASP.NET 2.0 istemci geri arama Yöneticisi kullanılır.

Tam bir geri gönderme kullanmadan Web sunucusu için Web sayfaları gönderme istekleri için ASP.NET 2.0 istemci geri arama Yöneticisi'ni kullanın. Istemci geri aramaları postback veri eklemek için istemci geri aramaları tüm Web sayfasını Web tarayıcısında güncelleştirilecek zorlamamak. Bu, gezinti sırasında oluşabilecek titreşme etkisini azaltır.

ASP.NET 2.0 istemci geri arama Yöneticisi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn.microsoft.com/msdnmag/issues/06/00/ASPNET20Overview/default.aspx (http://msdn.microsoft.com/msdnmag/issues/06/00/ASPNET20Overview/default.aspx)
Bir geri gönderme kullanmadan istemci geri aramaları nasıl hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms178208.aspx (http://msdn2.microsoft.com/en-us/library/ms178208.aspx)

Yöntem 2: gizli bir çerçeve içinde Web sayfası kullanın.

Çerçeve görünür ve gizli bir çerçeve içeren bir Web sayfası oluşturun. Bunun nasıl yapılacağı hakkında daha fazla bilgi için yöntem 2'de "yalnızca en son Web sayfası durumu Web tarayıcısı geçmiş klasöründe saklamak" bölümüne bakın.

Referanslar

ASP.NET 2. 0'da önerilmiyor Page.SmartNavigation özelli?i hakk?nda daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.ui.page.smartnavigation.aspx (http://msdn2.microsoft.com/en-us/library/system.web.ui.page.smartnavigation.aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbmt kbhowto kbinfo KB913721 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:913721  (http://support.microsoft.com/kb/913721/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.