Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 35979|Atsakyti: 2

[ASP.NET] ASP.NET "Core ViewComponent" mokymo programa, kaip naudoti "ViewComponent"

[Kopijuoti nuorodą]
Publikuota: 2021-2-7 16:18:25 | | | |
Kai daug puslapių iškviečia tą patį peržiūros rezultatą, tą patį turinį galime įtraukti į peržiūros komponentą, žinoma, taip pat galime perduoti parametrus peržiūros komponentui ir grąžinti atsakymo rezultatą, scenarijus: lyderių lenteles, formas, lenteles ir kt., Šiame straipsnyje naudojama asp.net Core 3.1, kad paaiškintų, kaip naudoti "ViewComponent" rodinio komponento mokymo programą.

Peržiūrėti komponentus

Rodinio komponentas yra panašus į vietinį rodinį, bet galingesnis. Rodinio komponentas nenaudoja modelio susiejimų, o remiasi tik duomenimis, pateiktais iškviečiant modelį. Šis straipsnis buvo parašytas naudojant valdiklius ir rodinius, tačiau rodinio komponentą taip pat galima naudoti su "Razor Pages".

Peržiūrėti komponentus:

  • Atvaizduoti blokus, o ne visą atsakymą.
  • Apima tą patį susirūpinimą keliančių klausimų ir testavimo pranašumų atskyrimą tarp kontrolierių ir požiūrių.
  • Jis gali turėti parametrus ir verslo logiką.
  • Paprastai iškviečiama iš maketo puslapio.


Rodinio komponentus galima naudoti visur, kur yra pakartotinai naudojama generavimo logika, kuri yra per sudėtinga vietiniam rodiniui, pvz.:

  • Dinaminis naršymo meniu
  • Žymų debesis (kur pateikiama duomenų bazės užklausa)
  • Prisijungimo skydelis
  • Pirkinių krepšelis
  • Neseniai paskelbti straipsniai
  • Šoninės juostos turinys tipiniame dienoraštyje
  • Kiekviename puslapyje pasirodys prisijungimo skydelis su nuoroda atsijungti arba prisijungti, atsižvelgiant į vartotojo prisijungimo būseną


Dalinis vaizdas

asp.net mvc naudoja vietinį rodinį RenderAction dinaminiams duomenims įkelti
https://www.itsvse.com/thread-4828-1-1.html

asp.net MVC 5 galime naudoti vietinį rodinį su šiuo kodu:



Skambučio būdas:



ViewComponent yra alternatyva vietiniams rodiniams.

ViewComponent pradžiai

Peržiūrėti komponentų klasę:

  • Konstruktoriaus priklausomybės injekcija visiškai palaikoma
  • Nedalyvauja valdiklio gyvavimo cikle, o tai reiškia, kad negalite naudoti filtrų rodinio komponentuose
  • Nieko nelaukdami, pereikime tiesiai prie taško, kuriame norime apibendrinti miesto teritorijų klasifikacijos komponentų funkcionalumą.


Pirmiausia projekto kataloge sukurkite naują aplanką "ViewComponents" ir sukurkite naują "RootClassification.cs" klasės failą su šiuo kodu:



Peržiūros puslapyje sukuriame naują aplanką "Komponentai" projekto aplanke "/Views/Shared", tada sukuriame naują aplanką "RootClassification" (tai objektas su nauja mūsų sukurta komponentų klase) ir tada sukuriame naują "Default.cshtml" failą, kodas yra toks:



Struktūra yra tokia:



Išsamus kelias yra: /Views/Shared/Components/RootClassification/Default.cshtml

Kodėl verta statyti tokį kelią? Tai susiję su asp.net Core komponento veikimu.

Vykdymo laikas ieško rodinio šiuo keliu:

/Views/{Controller Name}/Components/{View Component Name}/{View Name}
/Views/Shared/Components/{View Component Name}/{View Name}
/Pages/Shared/Components/{View Component Name}/{View Name}

Numatytasis rodinio komponento rodinio pavadinimas yra Numatytasis, o tai reiškia, kad rodinio failas paprastai bus pavadintas Default.cshtml. Kurdami rodinio komponento rezultatą arba iškviesdami peržiūros metodą, galite nurodyti kitą rodinio pavadinimą.

Skambinant, galime skambinti ten, kur reikia naudoti komponentą, kodas yra toks:



Iš naujo paleiskite projektą naudodami šį atvaizdavimą:

Vertinimas pagal

Dalyvių skaičius1MB+1 Prisidėti prie+1 Žlugimo priežastis
fessicon + 1 + 1 Parama savininkas po gerą pranešimą, ir aš taip pat po gerą pranešimą!.

Peržiūrėti visus įvertinimus





Ankstesnis:EF Core serijos (3) objekto rėmelio šešėlio atributai [Pakartotinis spausdinimas]
Kitą:Svetainė naudoja swiper įskiepį įgyvendinti vaizdų skaidrių demonstraciją (karuselę)
Publikuota: 2021-8-12 10:21:01 |
Atsakyti, kad pamatytumėte kodą?
 Savininkas| Publikuota: 2023-8-13 17:55:05 |
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com