Öğeleri Seçtikten Sonra ASP.NET Izgarasında Arama Ölçütlerini Korumak için JavaScript Nasıl Kullanılır

Öğeleri Seçtikten Sonra ASP.NET Izgarasında Arama Ölçütlerini Korumak için JavaScript Nasıl Kullanılır
Öğeleri Seçtikten Sonra ASP.NET Izgarasında Arama Ölçütlerini Korumak için JavaScript Nasıl Kullanılır

ASP.NET Izgara Arama ve Seçiminde Kullanıcı Deneyimini Optimize Etme

Müşterilere ızgara arayüzü içindeki nesneleri arama ve seçme yeteneği vermek, ASP.NET uygulamalarında sık görülen bir özelliktir. Ancak geliştiriciler sıklıkla bir sorunla karşılaşıyor: Bir öğe seçildiğinde ızgara yenileniyor ve arama parametreleri kayboluyor. Her yeni öğe seçtiklerinde aramayı yeniden başlatmak zorunda kaldıklarından bu durum kullanıcıları rahatsız edebilir.

Kullanılabilirliği artırmak için bir geri gönderme veya tablo güncellemesinin ardından arama kriterlerini korumak zorunludur. Bu, özellikle tüketicilerin aynı standartlara göre birden fazla seçenek seçmesi gerektiğinde çok önemlidir. Arama terimleri kaybolursa süreç gereksiz yere tekrarlanır.

Neyse ki, JavaScript'i ve ASP.NET'in yerleşik özelliklerini kullanarak, ızgaradaki bir öğeyi seçtikten sonra bile arama anahtar kelimelerinin devam etmesini sağlayabiliriz. DataTable'ları ve ASP.NET'in görünüm durumunu tamamlayan yöntemlerin kullanılmasıyla kullanıcı deneyimini daha sorunsuz hale getirebiliriz.

Bunu bir ASP.NET projesinde gerçekleştirmek için JavaScript ve VB.Net'in nasıl kullanılacağına aşağıdaki kılavuzda bakacağız. Ayrıca, kılavuzunuzu güncellerken arama kriterlerini etkili bir şekilde nasıl koruyacağınızı göstermek için gerçek dünya senaryosunu da inceleyeceğiz.

Emretmek Kullanım örneği
sessionStorage.getItem() Arama parametreleri bu komutla tarayıcının oturum deposundan alınabilir. Bu durumda, daha önce sağlanan arama değerini alır ve sayfa yenileme veya tablo güncellemesi sonrasında arama alanının yeniden doldurulmasını sağlar.
sessionStorage.setItem() Geçerli arama sorgusunu tarayıcının oturum belleğine kaydeder. Bu, kullanıcının bir öğeyi seçmesi veya ASP.NET ızgarasının geri göndermesi durumunda arama parametrelerinin kaybolmasını önler.
ScriptManager.RegisterStartupScript() Sunucudan bir ASP.NET istemci tarafı betiğini kaydeder ve çalıştırır. Arama değerini kılavuzun arama kutusuna kaydetmek için, burada saklanan arama kriterlerini sayfa yükleme sırasında veya bir geri gönderme sonrasında uygulamak için kullanılır.
DataTable().search() Bir güncelleme veya sayfa yüklemesinden sonra önbelleğe alınan arama değeri, bu DataTables yöntemi kullanılarak kılavuza geri uygulanır. Kılavuzun daha önce girilen arama sorgusuna göre filtrelenmesini garanti eder.
DataTable().draw() Arama kriterlerini uygular ve DataTable'ı yeniden çizer. AJAX veya başka bir teknik kullanılarak sayfa yenilendiğinde veya güncellendiğinde, arama terimlerini yeniden uygulamak ve filtrelenen verileri göstermek için bu komut gerekir.
on('keyup') Her tuş vuruşunun kaydedilmesi için arama giriş kutusuna bir olay işleyicisi ekler. Bu durumda, oturum depolamayı mevcut arama girişiyle güncelleyerek ızgara yenilense veya yeniden yüklense bile arama değerinin korunmasını sağlar.
__doPostBack() Bu ASP.NET işlevi, geri gönderme işlemini başlatmak için JavaScript'i kullanarak verileri sunucuya geri gönderir. Izgaradaki bir öğe seçildiğinde, komut dosyası geçerli arama değerini sunucuya iletmek için kullanılır ve arama durumunun sunucu tarafı işlemleri sırasında korunmasını garanti eder.
$.ajax() Sunucuya eşzamansız bir HTTP isteği gönderir. Bu durumda, tüm sayfayı yeniden yüklemeden arama kriterlerini sunucuya göndererek web sitesinin belirli alanlarını (grid gibi) AJAX ile güncellerken arama girişinin korunmasına yardımcı olur.

ASP.NET Grid'de Arama Kriterlerini Korumak için Komut Dosyası Çözümlerini Anlamak

Sunulan komut dosyalarının amacı, ASP.NET uygulamalarında kullanıcıların bir kılavuzdan seçim yaptıklarında arama parametrelerinin izini kaybetmelerine neden olan yaygın bir sorunu çözmektir. İlk yaklaşım, JavaScript'i kullanarak arama girişini istemci tarafında saklar. oturumDepolama işlev. Kullanıcı deneyimi, web sitesi yeniden yüklendikten sonra bile arama ifadesinin etkin kalmasını sağlayan bu stratejiyle iyileştirilir. Sayfa yeniden yüklendiğinde veya bir öğe seçildiğinde, önbelleğe alınan arama değeri, girişin yerel olarak yakalanıp kaydedilmesiyle ızgaraya tekrar uygulanabilir. Bu yöntem sayesinde kullanıcı sürekli aynı kriterleri girmek zorunda kalmayacaktır.

Başka bir yöntem sunucu tarafını kullanır Görünüm Durumu ASP.NET'in özelliği. Bu durumda arama değeri, geri göndermelerdeki verileri koruyan ViewState nesnesinde tutulur. ViewState'te tutulan değer, kullanıcı ızgarayla etkileşime girdiğinde ve bir öğeyi seçtiğinde sayfaya geri iletilir. Bu yöntem, arama parametrelerinin tüm oturum boyunca erişilebilir olmasını ve sunucu tarafı işlemeye kolayca dahil edilmesini garanti eder. Arama girişi kaybını önlemek için sunucu, aramayı istemci tarafındaki ızgaraya yeniden uygulamak için bir komut dosyası çalıştırabilir.

AJAX tam sayfa yeniden yüklemelerini durdurmak için üçüncü yaklaşımda kullanılır. Sayfanın dinamik güncellenmesi, sunucuya eşzamansız bir isteği tetikleyen bir öğe seçildiğinde gerçekleşir. Bu, ızgara yenilenirken AJAX isteğiyle birlikte verilen arama kriterlerini bozulmadan tutar. Güncelleme tamamlandıktan sonra JavaScript işlevi, arama değerini ızgaraya yeniden uygular. Bu teknik, kullanıcı deneyimini en üst düzeye çıkarmak için kılavuzun durumunu korurken materyali eşzamansız olarak günceller.

Farklı bir şekilde, bu yöntemlerin her biri arama girişinin korunmasını garanti eder. Daha basit istemci tarafı çözümleri için sessionStorage tekniği uygundur, ViewState ise daha kapsamlı bir ASP.NET stratejisi sunar. AJAX, sunucu tarafı güncellemeleri ile istemci tarafı etkileşimi arasında bir denge sağlayarak kullanıcı eylemlerinin arama sürecine müdahale etmemesini sağlar. Her çözüm, kullanıcı sıkıntısını en aza indirmek ve kusursuz bir ASP.NET ızgara tabanlı veri etkileşimi deneyimini korumak amacıyla performans ve kullanılabilirlik açısından en iyi uygulamalara uyar.

Öğe Seçiminden Sonra ASP.NET Grid'de Arama Kriterinin Korunması

Yaklaşım 1: Oturum Depolamayla JavaScript Kullanma (İstemci Tarafı)

// JavaScript to store search criteria in session storage
$(document).ready(function() {
  var searchValue = sessionStorage.getItem('searchValue') || '';
  var table = $('#gridViewArtifacts').DataTable({
    lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
    searching: true,
    ordering: true,
    paging: true
  });
  table.search(searchValue).draw(); // Apply search from session
  $('#gridViewArtifacts_filter input').on('keyup', function() {
    sessionStorage.setItem('searchValue', $(this).val());
  });
});

ASP.NET'te Geri Göndermeler Sırasında Arama Girişini Tutma

Yaklaşım 2: ASP.NET ViewState'i Kullanma (Sunucu Tarafı)

' VB.NET Code-Behind: Store search criteria in ViewState
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
  If Not IsPostBack Then
    ViewState("SearchValue") = String.Empty
  End If
End Sub
Protected Sub chkSelect_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
  ' Retain search criteria in ViewState
  Dim searchValue As String = CType(ViewState("SearchValue"), String)
  ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ApplySearch",
    "document.getElementById('gridViewArtifacts_filter').value = '" & searchValue & "';", True)
End Sub
' Frontend JavaScript to capture search input
$(document).ready(function() {
  $('#gridViewArtifacts_filter input').on('input', function() {
    __doPostBack('UpdateSearch', $(this).val());
  });
});

Tam Sayfanın Yeniden Yüklenmesini Önlemek için AJAX Kullanarak Arama Kriterlerini Koruma

Yaklaşım 3: Kısmi Sayfa Güncellemeleri için AJAX

// JavaScript for AJAX request to retain search after item selection
$(document).ready(function() {
  $('#gridViewArtifacts').DataTable({
    lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
    searching: true,
    ordering: true,
    paging: true
  });
  $('#chkSelect').on('change', function() {
    var searchValue = $('#gridViewArtifacts_filter input').val();
    $.ajax({
      type: 'POST',
      url: 'UpdateGrid.aspx',
      data: { searchValue: searchValue },
      success: function() {
        // Reapply search after AJAX update
        $('#gridViewArtifacts').DataTable().search(searchValue).draw();
      }
    });
  });
});

ASP.NET ve JavaScript ile Izgara Arama Kalıcılığını Artırma

Bir sayfa yenileme veya geri gönderme sonrasında ızgarada seçilen öğelerin vurgulanan durumunu korumak, ASP.NET ızgara kullanıcı deneyimini sağlam tutmanın çok önemli bir parçasıdır. Kullanıcılar, birden fazla seçim yaptıklarında arayüzün diğer alanlarıyla etkileşime girdiklerinde seçimlerinin yerinde kalmasını beklerler. Şebeke değişikliklerinin bir sonucu olarak belirli durumlar sıfırlanabileceğinden bu genellikle zordur. JavaScript'i kullanma ve ViewState'i Etkinleştir Geri göndermelerin ardından seçim durumunu saklama ve yeniden uygulama özelliği, bunu çözmenin bir yoludur.

Geliştiriciler, istemci tarafı depolamayı aşağıdaki gibi kullanabilir: yerelDepolama veya oturumDepolamaArama kriterlerini saklamanın yanı sıra seçilen nesneleri takip etmek için. Bu, özellikle kullanıcıların aynı anda birden fazla ürünü seçtiği durumlarda faydalıdır. Sayfa yeniden yüklendikten sonra seçilen öğe kimliklerini kaydederek seçimi ızgaraya yeniden uygulamak için JavaScript kullanılabilir. Kullanıcı eylemlerinin kaybolmasını önleyen bu teknik, tüm kullanıcı deneyimini büyük ölçüde geliştirir.

AJAX güncellemelerini kullanarak, özellikle büyük veri kümelerini yönetenler olmak üzere daha karmaşık ızgaralar için daha iyi hız garanti edilir. Arama parametrelerini ve seçilen nesneleri olduğu gibi korurken, tüm kılavuzu yeniden yükleme ihtiyacını ortadan kaldırarak kısmi değişiklikler yapılabilir. Birleştirerek daha akıcı ve etkileşimli bir ızgara deneyimi elde edilir. AJAX Web sitesinin, iş akışlarına müdahale etmeden kullanıcı etkinliklerine dinamik olarak uyum sağlamasını sağlayan sunucu tarafı mantığıyla.

ASP.NET Izgaralarında Arama ve Seçimi Korumaya Yönelik Sıkça Sorulan Sorular ve Cevapları

  1. Geri gönderme sonrasında arama kriterlerini nasıl koruyabilirim?
  2. Arama girdisi saklanarak geri göndermeler arasında arama kriterleri korunabilir. sessionStorage veya ViewState.
  3. Web sitesi yenilendiğinde seçimlerimi ızgarada tutabilir miyim?
  4. Evet, sayfa yeniden yüklendiğinde seçilen öğe kimliklerini yeniden uygulamak için JavaScript kullanarak ve bunları kaydederek localStorage veya sessionStorage.
  5. Izgara öğelerini seçerken sayfanın tamamen yeniden yüklenmesini durdurmanın bir yolu var mı?
  6. Kısmi sayfa güncellemeleri için şunu kullanın: AJAX kılavuzun tamamen yeniden yüklenmesini önlemek ve arama parametrelerini korumak için.
  7. Geri göndermeler arasında sıralama ve sayfalama seçenekleri korunabilir mi?
  8. Evet işe al DataTables; alternatif olarak kullanın sessionStorage veya ViewState durumu korumak için mülkiyet.
  9. Izgarada öğe seçimi ve arama kalıcılığı birlikte mi?
  10. Evet, arama kriterlerini ve seçilen öğeleri, bunları depoladıktan sonra sayfa yeniden yüklendiğinde yeniden uygulamak için JavaScript'i kullanabilirsiniz. sessionStorage.

ASP.NET Izgaralarında Arama ve Seçim Üzerine Son Düşünceler

ASP.NET ızgaralarında kullanıcı deneyiminin iyileştirilmesi, öğeler seçildikten sonra arama kriterlerinin yerinde tutulmasını gerektirir. İstemci tarafı ve sunucu tarafı stratejileri, kullanıcıların geri gönderme sırasında arama girişlerini sürdürmelerini garanti eder. Bu, daha kusursuz ve kullanıcı dostu bir arayüzle sonuçlanır.

Arama girişini ve seçili öğeleri koruma Görünüm Durumu saklama veya JavaScript amaç depolamadır. Bu rahatsızlığı en aza indirmelidir. Bu teknikleri kullanarak, ızgara tabanlı uygulamalarınızın dinamik ve kullanıcı dostu doğasını korurken aynı zamanda genel kullanılabilirliği de artırabilirsiniz.

ASP.NET Izgara Arama Kalıcılığı için Referanslar ve Kaynak Malzeme
  1. Hakkında detaylı bilgi ASP.NET ViewState ve geri göndermeler arasındaki verileri nasıl koruduğu kaynağından alınmıştır. Microsoft'un resmi belgeleri .
  2. VeriTabloları JavaScript arama işlevinde kullanılan entegrasyona şuradan başvurulmuştur: DataTables resmi belgeleri .
  3. Kullanımı oturumDepolama JavaScript'te istemci tarafı verileri depolamak için aşağıdaki örnekler kullanılarak araştırıldı: MDN Web Belgeleri .
  4. Uygulamaya ilişkin rehberlik AJAX Izgara durumunu korurken sayfaların yeniden yüklenmesini önlemek için W3Schools AJAX eğitimi .