Optimizacija uporabniške izkušnje pri iskanju in izbiri mreže ASP.NET
Omogočanje strankam iskanja in izbiranja predmetov znotraj mrežnega vmesnika je pogosta značilnost aplikacij ASP.NET. Razvijalci pa pogosto naletijo na težavo: mreža se osveži in iskalni parametri se izgubijo, ko je element izbran. Ker morajo znova zagnati iskanje vsakič, ko izberejo nov predmet, lahko to uporabnike razdraži.
Po povratni objavi ali posodobitvi mreže je nujno ohraniti merila iskanja, da bi izboljšali uporabnost. To je še posebej pomembno, ko morajo potrošniki izbrati več možnosti na podlagi istih standardov. Postopek se po nepotrebnem ponovi, če se iskalni izrazi izgubijo.
Na srečo lahko z uporabo JavaScripta in vgrajenih funkcij ASP.NET zagotovimo, da se ključne besede za iskanje nadaljujejo tudi po izbiri elementa v mreži. Z uporabo metod, ki dopolnjujejo DataTables in stanje pogleda ASP.NET, lahko naredimo uporabniško izkušnjo bolj gladko.
V vodniku, ki sledi, si bomo ogledali, kako uporabiti JavaScript in VB.Net, da to dosežemo v projektu ASP.NET. Preučili bomo tudi scenarij iz resničnega sveta, da vam pokažemo, kako učinkovito vzdrževati iskalna merila, ko posodabljate svojo mrežo.
Ukaz | Primer uporabe |
---|---|
sessionStorage.getItem() | Iskalne parametre lahko s tem ukazom pridobite iz pomnilnika seje brskalnika. V tem primeru pridobi iskalno vrednost, ki je bila predhodno navedena, in poskrbi, da je iskalno polje znova izpolnjeno po osvežitvi strani ali posodobitvi mreže. |
sessionStorage.setItem() | Shrani trenutno iskalno poizvedbo v pomnilnik seje brskalnika. To preprečuje izgubo iskalnih parametrov v primeru, da uporabnik izbere element ali mrežo ASP.NET objavi nazaj. |
ScriptManager.RegisterStartupScript() | Registrira in zažene skript na strani odjemalca ASP.NET s strežnika. Če želite shraniti iskalno vrednost v iskalno polje mreže, se tukaj uporablja za uporabo shranjenih iskalnih kriterijev pri nalaganju strani ali po povratni objavi. |
DataTable().search() | Po posodobitvi ali nalaganju strani se predpomnjena iskalna vrednost uporabi nazaj v mrežo s to metodo DataTables. Zagotavlja, da je mreža filtrirana glede na predhodno vneseno iskalno poizvedbo. |
DataTable().draw() | Uporabi kriterije iskanja in znova nariše podatkovno tabelo. Ko je stran osvežena ali posodobljena z uporabo AJAX ali druge tehnike, je ta ukaz potreben za ponovno uporabo iskalnih izrazov in prikaz filtriranih podatkov. |
on('keyup') | V iskalno vnosno polje doda obravnavo dogodkov, tako da se zabeleži vsak pritisk tipke. V tem primeru zagotavlja, da se iskalna vrednost ohrani, tudi če je mreža osvežena ali znova naložena s posodobitvijo pomnilnika seje s trenutnim iskalnim vnosom. |
__doPostBack() | Ta funkcija ASP.NET pošlje podatke nazaj v strežnik z uporabo JavaScripta za sprožitev povratne objave. Ko je izbran element v mreži, se skript uporabi za sporočanje trenutne vrednosti iskanja strežniku, kar zagotavlja, da se stanje iskanja ohranja med procesi na strani strežnika. |
$.ajax() | Pošlje strežniku asinhrono zahtevo HTTP. V tem primeru pomaga ohraniti iskalni vnos, medtem ko posodablja določena področja spletnega mesta (kot je mreža) z AJAX tako, da pošlje iskalne kriterije strežniku brez ponovnega nalaganja celotne strani. |
Razumevanje skriptnih rešitev za ohranjanje iskalnih kriterijev v mreži ASP.NET
Namen ponujenih skriptov je odpraviti pogost problem v aplikacijah ASP.NET, kjer uporabniki izgubijo sled svojih iskalnih parametrov, ko izbirajo iz mreže. Prvi pristop shrani vnos iskanja na strani odjemalca z uporabo JavaScripta sessionStorage funkcijo. Uporabniško izkušnjo izboljša ta strategija, ki poskrbi, da iskalna fraza ostane aktivna tudi po ponovnem nalaganju spletne strani. Ko se stran znova naloži ali je izbran element, je mogoče predpomnjeno iskalno vrednost znova uporabiti v mreži tako, da lokalno zajamete in shranite vnos. Zahvaljujoč tej metodi uporabniku ne bo treba nenehno vnašati istih kriterijev.
Druga metoda uporablja strežniško stran ViewState funkcija ASP.NET. V tem primeru se iskalna vrednost hrani v objektu ViewState, ki ohranja podatke med povratnimi objavami. Vrednost, shranjena v ViewState, se prenese nazaj na stran, ko uporabnik komunicira z mrežo in izbere element. Ta metoda zagotavlja, da so iskalni parametri dostopni za celotno sejo in jih je enostavno vključiti v obdelavo na strani strežnika. Da prepreči izgubo vnosa iskanja, lahko strežnik nato zažene skript za ponovno uporabo iskanja v mreži na strani odjemalca.
AJAX se uporablja v tretjem pristopu za zaustavitev ponovnega nalaganja celotne strani. Dinamično posodabljanje strani se zgodi, ko je izbran element, kar sproži asinhrono zahtevo strežniku. To ohranja kriterije iskanja, ki so podani z zahtevo AJAX, v taktu, medtem ko se mreža osvežuje. Ko je posodobitev končana, funkcija JavaScript znova uporabi iskalno vrednost v mreži. Ta tehnika posodablja gradivo asinhrono, hkrati pa ohranja stanje mreže, da poveča uporabniško izkušnjo.
Vsaka od teh metod na drugačen način zagotavlja ohranitev iskalnega vnosa. Za enostavnejše rešitve na strani odjemalca je primerna tehnika sessionStorage, medtem ko ViewState ponuja celovitejšo strategijo ASP.NET. AJAX zagotavlja, da dejanja uporabnikov ne motijo postopka iskanja, tako da zagotavlja ravnotežje med posodobitvami na strani strežnika in interaktivnostjo na strani odjemalca. Vsaka rešitev je v skladu z najboljšimi praksami glede zmogljivosti in uporabnosti, s ciljem zmanjšati trenje uporabnikov in ohraniti brezhibno izkušnjo interakcije podatkov, ki temelji na mreži ASP.NET.
Vzdrževanje iskalnih kriterijev v mreži ASP.NET po izbiri elementa
1. pristop: uporaba JavaScripta s shranjevanjem sej (na strani odjemalca)
// 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());
});
});
Ohranjanje iskalnega vnosa med povratnimi objavami v ASP.NET
2. pristop: uporaba ASP.NET ViewState (strežniška stran)
' 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());
});
});
Ohranjanje kriterijev iskanja z uporabo AJAX-a za preprečevanje ponovnega nalaganja celotne strani
Pristop 3: AJAX za delne posodobitve strani
// 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();
}
});
});
});
Izboljšanje obstojnosti iskanja v mreži z ASP.NET in JavaScript
Ohranjanje označenega stanja izbranih elementov v mreži po osvežitvi strani ali povratni objavi je ključni del ohranjanja nedotaknjene uporabniške izkušnje omrežja ASP.NET. Uporabniki pričakujejo, da bodo njihove izbire ostale nespremenjene med interakcijo z drugimi področji vmesnika, ko naredijo več izbir. To je pogosto težko, saj se lahko določena stanja ponastavijo zaradi sprememb omrežja. Z uporabo JavaScripta in EnableViewState atribut za shranjevanje in ponovno uporabo izbirnega stanja po povratnih objavah je eden od načinov za rešitev tega.
Razvijalci lahko uporabljajo shrambo na strani odjemalca, npr localStorage oz sessionStorage, za spremljanje predmetov, ki so bili izbrani, poleg shranjevanja iskalnih kriterijev. To je še posebej koristno v primerih, ko uporabniki izberejo več izdelkov hkrati. JavaScript je mogoče uporabiti za ponovno uporabo izbire v mreži, potem ko se stran znova naloži, tako da shranite ID-je izbranih elementov. S preprečevanjem izgube uporabniških dejanj ta tehnika močno izboljša celotno uporabniško izkušnjo.
Za bolj zapletena omrežja, zlasti tista, ki upravljajo velike nabore podatkov, je zagotovljena večja hitrost z uporabo posodobitev AJAX. Naredite lahko delne spremembe, medtem ko iskalni parametri in izbrani predmeti ostanejo nedotaknjeni, s čimer prihranite potrebo po ponovnem nalaganju celotne mreže. Z združevanjem se doseže bolj tekoča in interaktivna izkušnja mreže AJAX s strežniško logiko, ki spletnemu mestu omogoča dinamično prilagajanje uporabnikovim aktivnostim, ne da bi posegali v njihov potek dela.
Pogosto zastavljena vprašanja in njihovi odgovori za ohranjanje iskanja in izbire v mrežah ASP.NET
- Kako lahko ohranim merila iskanja po povratni objavi?
- Iskalni kriteriji se lahko ohranijo med povratnimi objavami, tako da se iskalni vnos shrani v sessionStorage oz ViewState.
- Ko se spletno mesto osveži, ali lahko ohranim svoje izbire v mreži?
- Da, z uporabo JavaScripta za ponovno uporabo izbranih ID-jev elementov, ko se stran znova naloži, in njihovo shranjevanje v localStorage oz sessionStorage.
- Ali obstaja način, da preprečite popolno ponovno nalaganje strani, ko izbirate elemente mreže?
- Za delne posodobitve strani uporabite AJAX da preprečite popolno ponovno nalaganje mreže in ohranite iskalne parametre.
- Ali je mogoče med povratnimi objavami ohraniti možnosti razvrščanja in strani?
- Da, zaposliti DataTables; alternativno, uporabite sessionStorage ali ViewState lastnine za vzdrževanje stanja.
- Izbira predmeta v mreži in vztrajnost iskanja skupaj?
- Da, lahko uporabite JavaScript za ponovno uporabo iskalnih kriterijev in izbranih elementov ob ponovnem nalaganju strani, potem ko jih shranite sessionStorage.
Končne misli o iskanju in izbiranju v mrežah ASP.NET
Izboljšanje uporabniške izkušnje v mrežah ASP.NET zahteva, da so iskalni kriteriji ohranjeni, ko so elementi izbrani. Strategije na strani odjemalca in na strani strežnika zagotavljajo, da uporabniki ohranijo svoj iskalni vnos med povratnim pošiljanjem. Posledica tega je bolj brezšiven in uporabniku prijazen vmesnik.
Ohranjanje vnosa iskanja in izbranih elementov, bodisi po ViewState zadrževanje oz JavaScript shranjevanje, je cilj. To bi moralo čim bolj zmanjšati motnje. Z uporabo teh tehnik lahko ohranite dinamično in uporabniku prijazno naravo svojih omrežnih aplikacij, hkrati pa izboljšate splošno uporabnost.
Reference in izvorno gradivo za ASP.NET Grid Search Persistence
- Podrobne informacije o ASP.NET ViewState in kako ohranja podatke med povratnimi objavami Microsoftova uradna dokumentacija .
- The DataTables integracija, uporabljena v funkciji iskanja JavaScript, je bila sklicana iz Uradna dokumentacija DataTables .
- Uporaba sessionStorage v JavaScriptu za shranjevanje podatkov na strani odjemalca smo raziskali s primeri iz Spletni dokumenti MDN .
- Navodila za izvajanje AJAX za preprečevanje ponovnega nalaganja strani ob ohranjanju mrežnega stanja je bilo zbrano iz W3Schools vadnica AJAX .