Kaip naudoti „JavaScript“ siekiant išlaikyti paieškos kriterijus ASP.NET tinkle po to, kai pasirinksiu elementus

Search persistence

Vartotojo patirties optimizavimas ASP.NET tinklelio paieškoje ir pasirinkime

Suteikimas klientams galimybę ieškoti ir pasirinkti objektus tinklelio sąsajoje yra dažna ASP.NET programų funkcija. Tačiau kūrėjai dažnai susiduria su problema: tinklelis atnaujinamas, o paieškos parametrai prarandami, kai pasirenkamas elementas. Kadangi jie turi iš naujo pradėti paiešką kiekvieną kartą, kai pasirenka naują elementą, tai gali erzinti vartotojus.

Būtina išsaugoti paieškos kriterijus po atgalinio siuntimo arba tinklelio atnaujinimo, kad būtų pagerintas naudojimas. Tai ypač svarbu, kai vartotojai turi pasirinkti keletą variantų pagal tuos pačius standartus. Procesas be reikalo kartojamas, jei pamesti paieškos terminai.

Laimei, galime užtikrinti, kad paieškos raktiniai žodžiai tęstųsi net ir pasirinkę elementą tinklelyje, naudodami JavaScript ir integruotas ASP.NET funkcijas. Naudodami metodus, kurie papildo DataTables ir ASP.NET peržiūros būseną, galime padaryti naudotojo patirtį sklandesnę.

Toliau pateiktame vadove apžvelgsime, kaip naudoti JavaScript ir VB.Net, kad tai būtų pasiekta ASP.NET projekte. Taip pat peržiūrėsime realų scenarijų, kad parodytume, kaip efektyviai išlaikyti paieškos kriterijus atnaujinant tinklelį.

komandą Naudojimo pavyzdys
sessionStorage.getItem() Paieškos parametrus galima gauti naudojant šią komandą iš naršyklės seanso saugyklos. Šiuo atveju ji nuskaito anksčiau pateiktą paieškos reikšmę ir užtikrina, kad paieškos laukas būtų dar kartą užpildytas atnaujinus puslapį arba tinklelį.
sessionStorage.setItem() Išsaugo dabartinę paieškos užklausą naršyklės seanso saugykloje. Taip paieškos parametrai neprarandami tuo atveju, jei vartotojas pasirenka elementą arba ASP.NET tinklelis grįžta atgal.
ScriptManager.RegisterStartupScript() Registruoja ir paleidžia ASP.NET kliento scenarijų iš serverio. Norint išsaugoti paieškos reikšmę tinklelio paieškos laukelyje, ji čia naudojama išsaugotiems paieškos kriterijams taikyti įkeliant puslapį arba po atgalinio siuntimo.
DataTable().search() Atnaujinus arba įkėlus puslapį, talpykloje esanti paieškos reikšmė vėl taikoma tinkleliui naudojant šį duomenų lentelių metodą. Tai garantuoja, kad tinklelis bus filtruojamas pagal anksčiau įvestą paieškos užklausą.
DataTable().draw() Taiko paieškos kriterijus ir perbraižo duomenų lentelę. Kai puslapis atnaujinamas arba atnaujinamas naudojant AJAX ar kitą techniką, ši komanda reikalinga norint iš naujo taikyti paieškos terminus ir rodyti filtruotus duomenis.
on('keyup') Prideda įvykių tvarkyklę į paieškos įvesties laukelį, kad būtų įrašytas kiekvienas klavišo paspaudimas. Šiuo atveju ji užtikrina, kad paieškos reikšmė būtų išlaikyta, net jei tinklelis atnaujinamas arba įkeliamas iš naujo, atnaujinant seanso saugyklą naudojant dabartinę paieškos įvestį.
__doPostBack() Ši ASP.NET funkcija siunčia duomenis atgal į serverį naudodama JavaScript, kad inicijuotų atgalinį siuntimą. Kai pasirenkamas elementas tinklelyje, scenarijus naudojamas dabartinei paieškos vertei perduoti serveriui, užtikrinant, kad paieškos būsena bus palaikoma serverio proceso metu.
$.ajax() Siunčia serveriui asinchroninę HTTP užklausą. Šiuo atveju tai padeda išsaugoti paieškos įvestį, atnaujinant tam tikras svetainės sritis (pvz., tinklelį) naudojant AJAX, siųsdamas paieškos kriterijus į serverį, neįkeldamas viso puslapio iš naujo.

Scenarijų sprendimų, kaip išsaugoti paieškos kriterijus ASP.NET tinklelyje, supratimas

Siūlomų scenarijų paskirtis – išspręsti įprastą ASP.NET programų problemą, kai pasirinkę iš tinklelio vartotojai praranda savo paieškos parametrų sekimą. Pirmasis metodas išsaugo paieškos įvestį kliento pusėje, naudodamas JavaScript funkcija. Ši strategija pagerina vartotojo patirtį, kuri užtikrina, kad paieškos frazė išliktų aktyvi net ir įkėlus svetainę iš naujo. Kai puslapis įkeliamas iš naujo arba pasirenkamas elementas, talpykloje esančią paieškos reikšmę galima vėl pritaikyti tinkleliui užfiksuojant ir išsaugant įvestį vietoje. Dėl šio metodo vartotojui nereikės įvesti tų pačių kriterijų.

Kitas metodas naudoja serverio pusę ASP.NET funkcija. Tokiu atveju paieškos reikšmė išsaugoma „ViewState“ objekte, o tai išsaugo duomenis per siuntimą atgal. „ViewState“ saugoma reikšmė perduodama atgal į puslapį, kai vartotojas sąveikauja su tinkleliu ir pasirenka elementą. Šis metodas garantuoja, kad paieškos parametrai bus pasiekiami visą seansą ir lengvai įtraukiami į serverio apdorojimą. Siekdamas išvengti paieškos įvesties praradimo, serveris gali paleisti scenarijų, kad pakartotinai pritaikytų paiešką kliento tinkle.

naudojamas trečiuoju metodu, siekiant sustabdyti viso puslapio įkėlimą iš naujo. Dinaminis puslapio atnaujinimas įvyksta, kai pasirenkamas elementas, kuris suaktyvina asinchroninę užklausą serveriui. Taip paieškos kriterijai, kurie pateikiami su AJAX užklausa, išlieka taktiški, kol tinklelis atnaujinamas. Baigus naujinimą, „JavaScript“ funkcija iš naujo pritaiko paieškos reikšmę tinkleliui. Ši technika atnaujina medžiagą asinchroniškai, išsaugant tinklelio būseną, kad būtų maksimaliai padidinta naudotojo patirtis.

Kitu būdu kiekvienas iš šių būdų garantuoja paieškos įvesties išsaugojimą. Paprastesniems kliento sprendimams tinka sessionStorage technika, o ViewState siūlo išsamesnę ASP.NET strategiją. AJAX užtikrina, kad vartotojo veiksmai netrukdytų paieškos procesui, suteikdama pusiausvyrą tarp serverio atnaujinimų ir kliento pusės interaktyvumo. Kiekvienas sprendimas atitinka geriausią našumo ir naudojimo praktiką, siekiant sumažinti vartotojų trintį ir išsaugoti vientisą ASP.NET tinklelio duomenų sąveikos patirtį.

Paieškos kriterijų išlaikymas ASP.NET tinklelyje po elemento pasirinkimo

1 metodas: „JavaScript“ naudojimas su seanso saugykla (kliento pusėje)

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

Paieškos įvesties išlaikymas siuntimo atgal metu ASP.NET

2 metodas: ASP.NET ViewState naudojimas (serverio pusė)

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

Paieškos kriterijų išsaugojimas naudojant AJAX, kad būtų išvengta viso puslapio įkėlimo

3 metodas: AJAX daliniams puslapio atnaujinimams

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

Tinklelio paieškos patvarumo didinimas naudojant ASP.NET ir JavaScript

Paryškintos pasirinktų elementų būsenos išlaikymas tinklelyje po puslapio atnaujinimo arba atgalinio siuntimo yra esminė dalis, siekiant išlaikyti ASP.NET tinklelio naudotojo patirtį. Vartotojai tikisi, kad jų pasirinkimai išliks vietoje, kai jie sąveikauja su kitomis sąsajos sritimis, kai atlieka kelis pasirinkimus. Tai dažnai būna sunku, nes dėl tinklelio pakeitimų tam tikros būsenos gali būti nustatytos iš naujo. Naudojant JavaScript ir atributas išsaugoti ir pakartotinai taikyti pasirinkimo būseną po atgalinio siuntimo yra vienas iš būdų tai išspręsti.

Kūrėjai gali naudoti kliento saugyklą, pvz arba , kad galėtumėte sekti pasirinktus objektus ir išsaugoti paieškos kriterijus. Tai ypač naudinga tais atvejais, kai vartotojai renkasi kelis produktus vienu metu. „JavaScript“ gali būti naudojamas pakartotiniam pasirinkimui pritaikyti tinkleliui, kai puslapis įkeliamas iš naujo, išsaugant pasirinktų elementų ID. Neleisdama prarasti vartotojo veiksmų, ši technika labai pagerina visą vartotojo patirtį.

Naudojant AJAX naujinimus, garantuojamas geresnis greitis naudojant sudėtingesnius tinklelius, ypač tuos, kurie valdo didelius duomenų rinkinius. Galima atlikti dalinius pakeitimus išlaikant nepažeistus paieškos parametrus ir pasirinktus objektus, todėl nereikia iš naujo įkelti viso tinklelio. Sklandesnė ir interaktyvesnė tinklelio patirtis pasiekiama derinant su serverio logika, kuri leidžia svetainei dinamiškai prisitaikyti prie vartotojo veiklos netrukdant jų darbo eigai.

  1. Kaip galiu išlaikyti paieškos kriterijus po atgalinio siuntimo?
  2. Paieškos kriterijai gali būti išsaugoti tarp siuntimo atgal, išsaugant paieškos įvestį arba .
  3. Kai svetainė atnaujinama, ar galiu išlaikyti savo pasirinkimus tinklelyje?
  4. Taip, naudojant „JavaScript“, kad būtų iš naujo taikomi pasirinktų elementų ID, kai puslapis įkeliamas iš naujo ir išsaugomas juos arba .
  5. Ar renkantis tinklelio elementus yra būdas sustabdyti visišką puslapio įkėlimą iš naujo?
  6. Daliniams puslapio atnaujinimams naudokite kad tinklelis nebūtų visiškai perkrautas ir išsaugotų paieškos parametrus.
  7. Ar galima išsaugoti rūšiavimo ir puslapių puslapių pasirinkimus tarp siuntimo atgal?
  8. Taip, įdarbinti ; kaip alternatyva, naudoti arba turtą būklei palaikyti.
  9. Elemento pasirinkimas tinklelyje ir paieškos išlikimas kartu?
  10. Taip, galite naudoti „JavaScript“, kad pakartotinai pritaikytumėte paieškos kriterijus ir pasirinktus elementus įkeliant puslapį iš naujo, kai juos išsaugosite .

Norint pagerinti naudotojo patirtį ASP.NET tinklelyje, reikia, kad pasirinkus elementus būtų taikomi paieškos kriterijai. Kliento ir serverio pusės strategijos garantuoja, kad naudotojai išlaikys savo paieškos įvestį siuntimo atgal metu. Dėl to sąsaja yra sklandesnė ir patogesnė.

Paieškos įvesties ir pasirinktų elementų išsaugojimas išlaikymas arba saugojimas, yra tikslas. Tai turėtų sumažinti susierzinimą. Naudodami šiuos metodus galite išlaikyti dinamišką ir patogų tinklelio programų pobūdį, taip pat pagerinti bendrą naudojimą.

  1. Išsami informacija apie ir kaip jis išsaugo duomenis tarp atgalinių siuntimų, buvo gautas iš Oficiali „Microsoft“ dokumentacija .
  2. The „JavaScript“ paieškos funkcijoje naudojama integracija buvo nuoroda iš DataTables oficiali dokumentacija .
  3. Naudojimas „JavaScript“ kliento duomenų saugojimui buvo ištirta naudojant pavyzdžius iš MDN žiniatinklio dokumentai .
  4. Įgyvendinimo gairės kad būtų išvengta puslapio įkėlimų iš naujo išlaikant tinklelio būseną, buvo surinkta iš W3Schools AJAX pamoka .