Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 35979|Antwoord: 2

[ASP.NET] ASP.NET Core ViewComponent Tutorial over het gebruik van ViewComponent

[Link kopiëren]
Geplaatst op 7-2-2021 16:18:25 | | | |
Wanneer een groot aantal pagina's hetzelfde weergaveresultaat oproept, kunnen we dezelfde inhoud inkapselen in een weergavecomponent, natuurlijk kunnen we ook parameters doorgeven aan de weergavecomponent en het responsresultaat teruggeven, scenario's: ranglijsten, formulieren, tabellen, enzovoort. Dit artikel gebruikt asp.net kern 3.1 om uit te leggen hoe je de ViewComponent weergavecomponenttutorial gebruikt.

Bekijk componenten

De View-component lijkt op een lokale view, maar is krachtiger. De viewcomponent gebruikt geen modelbindingen, maar vertrouwt alleen op de gegevens die worden verstrekt wanneer het model wordt aangeroepen. Dit artikel is geschreven met controllers en views, maar het view-gedeelte kan ook worden gebruikt met Razor Pages.

Bekijk componenten:

  • Render blocks in plaats van de hele reactie.
  • Omvat dezelfde scheiding van zorgen en testbaarheidsvoordelen als tussen controllers en views.
  • Het kan parameters en bedrijfslogica bevatten.
  • Meestal wordt ik aangeroepen vanaf de layoutpagina.


Viewcomponenten kunnen overal worden gebruikt waar je herbruikbare renderinglogica hebt die te complex is voor een lokale weergave, zoals:

  • Dynamisch navigatiemenu
  • Tag Cloud (waar de database wordt doorvraagd)
  • Inlogpaneel
  • Winkelwagentje
  • Recent gepubliceerde artikelen
  • Zijbalkinhoud op een typische blog
  • Het inlogpaneel verschijnt op elke pagina met een link om uit te loggen of in te loggen, afhankelijk van de inlogstatus van de gebruiker


Gedeeltelijk beeld

asp.net mvc gebruikt de lokale weergave van RenderAction om dynamische data te laden
https://www.itsvse.com/thread-4828-1-1.html

In asp.net MVC 5 kunnen we een lokale weergave gebruiken met de volgende code:



Oproepmethode:



ViewComponent is een alternatief voor lokale views.

ViewComponent om te beginnen

Bekijk componentklasse:

  • Constructorafhankelijkheidsinjectie wordt volledig ondersteund
  • Niet betrokken bij de levenscyclus van de controller, wat betekent dat je geen filters kunt gebruiken in viewcomponenten
  • Zonder verder oponthoud gaan we meteen naar het punt waarop we de componentfunctionaliteit van een stedelijke gebiedsclassificatie willen samenvatten.


Maak eerst een nieuwe "ViewComponents"-map aan onder de projectmap en maak een nieuw "RootClassification.cs"-klassebestand aan met de volgende code:



Op de view-pagina maken we een nieuwe "Components"-map aan onder de "/Views/Shared"-map van het project, vervolgens maken we een nieuwe "RootClassification"-map aan (dit is het object met de nieuwe componentklasse die we hebben gemaakt), en vervolgens maken we een nieuw "Default.cshtml"-bestand aan; de code is als volgt:



De structuur is als volgt:



Het gedetailleerde pad is: /Views/Shared/Components/RootClassification/Default.cshtml

Waarom zo'n pad bouwen? Dit heeft te maken met hoe het asp.net Core-component werkt.

De runtime zoekt naar de weergave via het volgende pad:

/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}

De standaard weergavenaam voor de weergavecomponent is Default, wat betekent dat je weergavebestand meestal Default.cshtml zal heten. Bij het aanmaken van een weergavecomponentresultaat of het aanroepen van een View-methode kun je een andere weergavenaam opgeven.

Door aan te roepen, kunnen we aanroepen waar we de component moeten gebruiken, de code is als volgt:



Voer het project opnieuw uit met de volgende rendering:

Partituur

Aantal deelnemers1MB+1 bijdragen+1 Instorting reden
Fessicon + 1 + 1 Steun de eigenaar om een goed bericht te plaatsen, en ik zal ook een goed bericht plaatsen!

Bekijk alle beoordelingen





Vorig:EF Core Series (3) Entity Frame Schaduwattributen [Herdruk]
Volgend:De website gebruikt de swiper-plugin om een afbeeldingsdiavoorstelling (carrousel) te implementeren
Geplaatst op 2021-8-12 10:21:01 |
Antwoord om de code te zien?
 Huisbaas| Geplaatst op 2023-8-13 17:55:05 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com