Inhoudsopgave
De controllers Ze zijn niet alleen verantwoordelijk voor het retourneren van resultaten, ze moeten ook gegevens ontvangen die verder gaan dan wat de routeringssysteem Het presenteert ze, een gebruiker kan bijvoorbeeld een item voor een blog maken, de controller moet deze gegevens ontvangen en volgens zijn programmering zien wat hij ermee doet en wat hij retourneert.Parameters delen
Controlleracties zijn gewoon een andere methode in een klasse ASP.NET, dit betekent dat ze de macht hebben om het framework te vertellen hoe het zijn velden moet invullen, inclusief het gebruik van de gegevens die het ontvangt van verzoek.
Dit wat we uitleggen is wat wordt genoemd model binding iets dat zou worden vertaald als unie naar het model. Laten we nu in de volgende afbeelding zien hoe we een actie kunnen maken die op een traditionele manier met het verzoek werkt:
In het voorbeeld zien we hoe we er de waarden uit halen die we nodig hebben verzoek object direct kunnen we zelfs de attributie nemen van het converteren van de waarden naar het type gegevens dat we moeten opslaan zoals we zien in de laatste 3 waardetoewijzingen.
HerinnerenHet grote nadeel van deze aanpak is dat alle verantwoordelijkheid bij de ontwikkelaar ligt, dus we moeten meer code genereren en meer valideren.
Modelbinding
De model binding Het bespaart ons de nadelen die we in het vorige voorbeeld zagen, dit is te danken aan het feit dat in plaats van direct de waarden van de verzoek, wat we doen is ze declareren als parameters.
Laten we eens kijken naar het onderstaande voorbeeld om uit te leggen hoe het in meer detail werkt:
Hier zien we dat in plaats van de verzoek objectWe vertellen de attributen gewoon dat hun waarde overeenkomt met de waarde van de parameters, deze parameters zullen op hun beurt hun waarde rechtstreeks van het aanvraagobject verkrijgen.
BelangrijkBij het verkrijgen van de waarden van het aanvraagobject is het belangrijk dat de parameters de naam behouden, aangezien ASP.NET MVC het zal proberen ze te vullen met behulp van de parameternaam om de bron in de aanvraag te vinden.
Zoals we kunnen zien, is deze aanpak robuuster omdat het het raamwerk gebruikt om de verschillende controles uit te voeren die de ontwikkelaar anders zou moeten uitvoeren, dit betekent dat er minder code wordt geschreven en de applicatie beter leesbaar is.
BelangrijkDe verzoek object is niet het enige dat ons in staat stelt om de model binding Als gegevensbron kunnen we ook objecten gebruiken die zijn geserialiseerd met JSON of ook gegevens die afkomstig zijn van een HTML-formulier of zelfs van dezelfde URL.
Laten we het volgende voorbeeld bekijken waarin de waarde van de URL wordt gebruikt door de parameter simpelweg met dezelfde naam te declareren, zodat het framework deze kan koppelen:
In de afbeelding zou het voorbeeld de waarde van de id-parameter ontvangen van een URL met een formulier / veilingen / veiling / 45 bijvoorbeeld omdat in ons bestand routering We zullen hebben gedefinieerd dat dit patroon deze controlleractie zou noemen en dat wat wordt ontvangen, zou worden verzonden met de identifier-ID.
Aan het einde van de tutorial hebben we duidelijker de concepten van hoe de acties van een controller werken en hoe we gegevens kunnen ontvangen waarmee we een logica in onze applicatie kunnen uitwerken.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven