Come utilizzare JavaScript per mantenere i criteri di ricerca in una griglia ASP.NET dopo aver selezionato gli elementi

Search persistence

Ottimizzazione dell'esperienza utente nella ricerca e selezione della griglia ASP.NET

Fornire ai clienti la possibilità di cercare e scegliere oggetti all'interno di un'interfaccia a griglia è una funzionalità frequente nelle applicazioni ASP.NET. Gli sviluppatori, tuttavia, riscontrano spesso un problema: la griglia si aggiorna e i parametri di ricerca vengono persi quando viene selezionato un elemento. Poiché devono ricominciare la ricerca ogni volta che scelgono un nuovo elemento, ciò potrebbe irritare gli utenti.

È imperativo preservare i criteri di ricerca dopo un postback o un aggiornamento della griglia al fine di migliorare l'usabilità. Ciò è particolarmente cruciale quando i consumatori devono scegliere diverse opzioni basate sugli stessi standard. Il processo viene ripetuto inutilmente se i termini di ricerca vengono persi.

Fortunatamente, possiamo assicurarci che le parole chiave di ricerca continuino anche dopo aver selezionato un elemento nella griglia utilizzando JavaScript e le funzionalità integrate di ASP.NET. Attraverso l'uso di metodi che integrano DataTables e lo stato di visualizzazione di ASP.NET, possiamo rendere l'esperienza dell'utente più fluida.

Nella guida che segue esamineremo come utilizzare JavaScript e VB.Net per raggiungere questo obiettivo in un progetto ASP.NET. Esamineremo anche uno scenario reale per mostrarti come mantenere in modo efficace i criteri di ricerca mentre aggiorni la tua griglia.

Comando Esempio di utilizzo
sessionStorage.getItem() I parametri di ricerca possono essere recuperati con questo comando dalla memoria della sessione del browser. In questo caso, recupera il valore di ricerca fornito in precedenza e si assicura che il campo di ricerca venga nuovamente compilato dopo un aggiornamento della pagina o un aggiornamento della griglia.
sessionStorage.setItem() Salva la query di ricerca corrente nella memoria della sessione del browser. In questo modo i parametri di ricerca non vengono persi nel caso in cui l'utente scelga un elemento o la griglia ASP.NET pubblichi nuovamente.
ScriptManager.RegisterStartupScript() Registra ed esegue uno script lato client ASP.NET dal server. Per salvare il valore di ricerca nella casella di ricerca della griglia, viene utilizzato qui per applicare i criteri di ricerca memorizzati al caricamento della pagina o dopo un postback.
DataTable().search() Dopo un aggiornamento o un caricamento della pagina, il valore di ricerca memorizzato nella cache viene applicato nuovamente alla griglia utilizzando questo metodo DataTables. Garantisce che la griglia venga filtrata in base alla query di ricerca precedentemente inserita.
DataTable().draw() Applica i criteri di ricerca e ridisegna DataTable. Quando la pagina viene aggiornata o aggiornata utilizzando AJAX o un'altra tecnica, questo comando è necessario per riapplicare i termini di ricerca e mostrare i dati filtrati.
on('keyup') Aggiunge un gestore eventi alla casella di input della ricerca in modo che ogni sequenza di tasti venga registrata. In questo caso, garantisce che il valore di ricerca venga mantenuto anche se la griglia viene aggiornata o ricaricata aggiornando l'archivio della sessione con l'input di ricerca corrente.
__doPostBack() Questa funzione ASP.NET invia nuovamente i dati al server utilizzando JavaScript per avviare un postback. Quando viene selezionato un elemento nella griglia, lo script viene utilizzato per comunicare il valore di ricerca corrente al server, garantendo che lo stato di ricerca venga mantenuto durante i processi lato server.
$.ajax() Invia al server una richiesta HTTP asincrona. In questo caso, aiuta a preservare l'input di ricerca aggiornando aree specifiche del sito web (come la griglia) con AJAX inviando i criteri di ricerca al server senza ricaricare l'intera pagina.

Informazioni sulle soluzioni di script per preservare i criteri di ricerca nella griglia ASP.NET

Lo scopo degli script offerti è risolvere un problema comune nelle applicazioni ASP.NET in cui gli utenti perdono traccia dei parametri di ricerca quando effettuano una selezione da una griglia. Il primo approccio memorizza l'input di ricerca sul lato client utilizzando JavaScript funzione. L'esperienza dell'utente è migliorata da questa strategia, che garantisce che la frase di ricerca rimanga attiva anche dopo il ricaricamento del sito web. Quando la pagina si ricarica o viene selezionato un elemento, il valore di ricerca memorizzato nella cache può essere applicato nuovamente alla griglia acquisendo e salvando l'input localmente. Grazie a questo metodo l'utente non dovrà continuare a inserire gli stessi criteri.

Un altro metodo utilizza il lato server funzionalità di ASP.NET. In questo caso, il valore di ricerca viene mantenuto nell'oggetto ViewState, che preserva i dati tra i postback. Il valore mantenuto in ViewState viene ritrasmesso alla pagina quando un utente interagisce con la griglia e seleziona un elemento. Questo metodo garantisce che i parametri di ricerca siano accessibili per l'intera sessione e siano facilmente incorporati nell'elaborazione lato server. Per evitare la perdita dell'input di ricerca, il server può quindi eseguire uno script per riapplicare la ricerca alla griglia lato client.

viene utilizzato nel terzo approccio per interrompere i ricaricamenti dell'intera pagina. L'aggiornamento dinamico della pagina avviene quando viene selezionato un elemento, che attiva una richiesta asincrona al server. Ciò mantiene intatti i criteri di ricerca, forniti con la richiesta AJAX, mentre la griglia si aggiorna. Al termine dell'aggiornamento, la funzione JavaScript riapplica il valore di ricerca alla griglia. Questa tecnica aggiorna il materiale in modo asincrono preservando lo stato della griglia per massimizzare l'esperienza dell'utente.

In modo diverso, ciascuno di questi metodi garantisce la conservazione dell'input di ricerca. Per soluzioni lato client più semplici, la tecnica sessionStorage è appropriata, mentre ViewState offre una strategia ASP.NET più completa. AJAX garantisce che le azioni dell'utente non interferiscano con il processo di ricerca fornendo un equilibrio tra aggiornamenti lato server e interattività lato client. Ogni soluzione rispetta le migliori pratiche in termini di prestazioni e usabilità, con l'obiettivo di ridurre al minimo l'attrito degli utenti e preservare un'esperienza di interazione dei dati basata su griglia ASP.NET senza interruzioni.

Mantenimento dei criteri di ricerca nella griglia ASP.NET dopo la selezione dell'elemento

Approccio 1: utilizzo di JavaScript con l'archiviazione della sessione (lato client)

// 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());
  });
});

Conservazione dell'input di ricerca durante i postback in ASP.NET

Approccio 2: utilizzo di ASP.NET ViewState (lato server)

' 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());
  });
});

Conservazione dei criteri di ricerca utilizzando AJAX per impedire il ricaricamento della pagina intera

Approccio 3: AJAX per aggiornamenti parziali della pagina

// 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();
      }
    });
  });
});

Miglioramento della persistenza della ricerca nella griglia con ASP.NET e JavaScript

Mantenere lo stato evidenziato degli elementi selezionati nella griglia dopo un aggiornamento o un postback della pagina è una parte cruciale per mantenere intatta l'esperienza utente della griglia ASP.NET. Gli utenti prevedono che le loro selezioni rimangano in vigore mentre interagiscono con altre aree dell'interfaccia quando effettuano selezioni multiple. Ciò è spesso difficile poiché alcuni stati potrebbero ripristinarsi a seguito di modifiche alla rete. Utilizzando JavaScript e L'attributo per archiviare e riapplicare lo stato di selezione dopo i postback è un modo per risolvere questo problema.

Gli sviluppatori possono utilizzare l'archiviazione lato client, ad esempio O , per tenere traccia degli oggetti prelevati oltre a memorizzare i criteri di ricerca. Ciò è particolarmente utile nelle situazioni in cui gli utenti scelgono più prodotti contemporaneamente. È possibile utilizzare JavaScript per riapplicare la selezione alla griglia dopo il ricaricamento della pagina memorizzando gli ID elemento selezionati. Evitando che le azioni dell'utente vadano perse, questa tecnica migliora notevolmente l'intera esperienza dell'utente.

Una migliore velocità è garantita per le griglie più complesse, soprattutto quelle che gestiscono grandi set di dati, utilizzando gli aggiornamenti AJAX. È possibile apportare modifiche parziali mantenendo intatti i parametri di ricerca e gli oggetti selezionati, evitando la necessità di ricaricare l'intera griglia. Combinando si ottiene un'esperienza di griglia più fluida e interattiva con logica lato server, che consente al sito web di adattarsi dinamicamente alle attività dell'utente senza interferire con il suo flusso di lavoro.

  1. Come posso mantenere i criteri di ricerca dopo un postback?
  2. I criteri di ricerca possono essere preservati tra i postback archiviando l'input di ricerca in O .
  3. Quando il sito Web si aggiorna, posso mantenere le mie selezioni nella griglia?
  4. Sì, utilizzando JavaScript per riapplicare gli ID elemento scelti quando la pagina viene ricaricata e salvandoli O .
  5. Quando si scelgono gli elementi della griglia, esiste un modo per impedire il ricaricamento completo della pagina?
  6. Per aggiornamenti parziali della pagina, utilizzare per evitare che la griglia si ricarichi totalmente e preservare i parametri di ricerca.
  7. È possibile preservare le scelte di ordinamento e impaginazione tra i postback?
  8. Sì, impiega ; in alternativa, utilizzare o il immobile per mantenere lo stato.
  9. Selezione degli elementi nella griglia e persistenza della ricerca insieme?
  10. Sì, puoi utilizzare JavaScript per riapplicare i criteri di ricerca e gli elementi selezionati al ricaricamento della pagina dopo averli archiviati .

Per migliorare l'esperienza utente nelle griglie ASP.NET è necessario che i criteri di ricerca vengano mantenuti una volta selezionati gli elementi. Le strategie lato client e lato server garantiscono che gli utenti mantengano i propri input di ricerca durante il postbacking. Ciò si traduce in un'interfaccia più semplice e intuitiva.

Conservazione dell'input di ricerca e degli elementi selezionati, sia per ritenzione o stoccaggio, è l'obiettivo. Ciò dovrebbe ridurre al minimo il fastidio. Utilizzando queste tecniche, puoi mantenere la natura dinamica e intuitiva delle tue app basate su griglia, migliorando allo stesso tempo l'usabilità complessiva.

  1. Informazioni dettagliate su e da come proviene il modo in cui conserva i dati tra i postback La documentazione ufficiale di Microsoft .
  2. IL è stato fatto riferimento all'integrazione utilizzata nella funzionalità di ricerca JavaScript Documentazione ufficiale di DataTables .
  3. L'uso di in JavaScript per l'archiviazione dei dati lato client è stato esplorato utilizzando esempi da Documenti Web MDN .
  4. Guida all'implementazione per impedire il ricaricamento della pagina mantenendo lo stato della griglia è stato raccolto da Esercitazione AJAX di W3Schools .