Top 31 MVC Interview Spørgsmål & Svar

Anonim

Download PDF

1) Forklar hvad der er Model-View-Controller?

MVC er et softwarearkitekturmønster til udvikling af webapplikationer. Det håndteres af tre objekter Model-View-Controller.

2) Nævn, hvad repræsenterer Model-View-Controller i en MVC-applikation?

I en MVC-model,

  • Model - Det repræsenterer applikationsdatadomænet. Med andre ord er applikationsforretningslogik indeholdt i modellen og er ansvarlig for vedligeholdelse af data
  • Visning - Det repræsenterer brugergrænsefladen, som slutbrugerne kommunikerer med. Kort sagt er al brugergrænsefladelogik indeholdt i VIEW
  • Controller - Det er controlleren, der svarer på brugerhandlinger. Baseret på brugerhandlinger reagerer den respektive controller inden for modellen og vælger en visning til gengivelse, der viser brugergrænsefladen. Brugerindgangslogikken er indeholdt i controlleren

3) Forklar, i hvilken samling MVC-rammen er defineret?

MVC-rammen er defineret i System.Web.Mvc.

4) Angiv nogle få forskellige returtyper for en controllerhandlingsmetode?

  • Se resultatet
  • Javascript-resultat
  • Omdiriger resultat
  • Json-resultat
  • Indholdsresultat

5) Nævn, hvad er forskellen mellem at tilføje ruter til en webform-applikation og en MVC-applikation?

For at tilføje ruter til en webform-applikation kan vi bruge MapPageRoute () -metoden i RouteCollection-klassen, hvor tilføjelse af ruter til en MVC-applikation kan bruges til MapRoute () -metoden.

6) Nævn, hvad er de to måder at tilføje begrænsninger på en rute?

De to metoder til at tilføje begrænsninger til en rute er

  • Brug regulære udtryk
  • Brug et objekt, der implementerer IRouteConstraint Interface

7) Nævn, hvad er fordelene ved MVC?

  • MVC adskiller dit projekt i et andet segment, og det bliver let for udviklere at arbejde på
  • Det er let at redigere eller ændre en del af dit projekt, der gør projektet mindre udviklings- og vedligeholdelsesomkostninger
  • MVC gør dit projekt mere systematisk

8) Nævn, hvad funktionerne "beforFilter ()", "beforeRender" og "afterFilter" gør i Controller?

  • beforeFilter (): Denne funktion køres før hver handling i controlleren. Det er det rigtige sted at tjekke for en aktiv session eller inspicere brugertilladelser.
  • beforeRender (): Denne funktion kaldes efter controllerens handlingslogik, men før visningen gengives. Denne funktion bruges ikke ofte, men kan være påkrævet Hvis du kalder render () manuelt inden afslutningen af ​​en given handling
  • afterFilter (): Denne funktion kaldes efter hver controllerhandling, og efter gengivelse er udført. Det er den sidste controller-metode, der skal køres

9) Forklar komponenternes rolle, præsentation, abstraktion og kontrol i MVC?

  • Præsentation: Det er den visuelle repræsentation af en bestemt abstraktion i applikationen
  • Abstraktion: Det er forretningsdomænefunktionaliteten i applikationen
  • Kontrol: Det er en komponent, der holder konsistens mellem abstraktionen i systemet og deres præsentation for brugeren ud over at kommunikere med andre kontrolelementer i systemet

10) Nævn fordelene og ulemperne ved MVC-modellen?

Fordele

Ulemper

  • Det repræsenterer en klar adskillelse mellem forretningslogik og præsentationslogik
  • Hvert MVC-objekt har forskellige ansvarsområder
  • Udviklingen skrider frem parallelt
  • Let at administrere og vedligeholde
  • Alle klasser og objekter er uafhængige af hinanden
  • Modelmønsteret er lidt komplekst
  • Ineffektivitet af dataadgang i betragtning
  • Med moderne brugergrænseflade er det svært at bruge MVC
  • Du har brug for flere programmerere til parallel udvikling
  • Der kræves viden om flere teknologier

11) Forklar rollen som "ActionFilters" i MVC?

I MVC hjælper "ActionFilters" dig med at udføre logik, mens MVC-handling udføres eller dens udførelse.

12) Forklar, hvad der er trin til udførelse af et MVC-projekt?

Trinene til udførelse af et MVC-projekt inkluderer

  • Modtag første anmodning om ansøgningen
  • Udfører routing
  • Opretter MVC-anmodningshåndterer
  • Opret controller
  • Udfør controller
  • Påkald handling
  • Udfør resultat

13) Forklar hvad der er routing? Hvad er de tre segmenter til routing er vigtig?

Routing hjælper dig med at beslutte en URL-struktur og kortlægge URL'en med controlleren.

De tre segmenter, der er vigtige for routing er

  • Kontrolnavn
  • ActionMethodnavn
  • Parameter

14) Forklar, hvordan routing udføres i MVC-mønster?

Der er en gruppe ruter kaldet RouteCollection, som består af registrerede ruter i applikationen. RegisterRoutes-metoden registrerer ruterne i denne samling. En rute definerer et URL-mønster og en handler, der skal bruges, hvis anmodningen matcher mønsteret. Den første parameter til MapRoute-metoden er navnet på ruten. Den anden parameter er det mønster, som URL'en matcher. Den tredje parameter kan være standardværdierne for pladsholderne, hvis de ikke bestemmes.

15) Forklar ved hjælp af hyperlink, hvordan du kan navigere fra en visning til en anden visning?

Ved at bruge "ActionLink" -metoden som vist i nedenstående kode. Nedenstående kode opretter en simpel URL, der hjælper med at navigere til "Home" -controlleren og påberåbe sig "GotoHome" -handlingen.

Skjul / kopier kode

<% = Html.ActionLink ("Hjem", "Gotohome")%>

16) Nævn hvordan kan opretholde session i MVC?

Session kan opretholdes i MVC på tre måder tempdata, viewdata og viewbag.

17) Nævn hvad er forskellen mellem Temp data, View og View Bag?

  • Temp data: Det hjælper med at vedligeholde data, når du skifter fra en controller til en anden controller.
  • Vis data: Det hjælper med at vedligeholde data, når du flytter fra controller til visning
  • Visningspose: Det er en dynamisk indpakning omkring visningsdata

18) Hvad er delvis visning i MVC?

Delvis visning i MVC gengiver en del af visningsindholdet. Det er nyttigt at reducere duplikering af kode. Enkelt set giver delvis visning mulighed for at gengive en visning i den overordnede visning.

19) Forklar, hvordan du kan implementere Ajax i MVC?

I MVC kan Ajax implementeres på to måder

  • Ajax-biblioteker
  • Jquery

20) Nævn, hvad er forskellen mellem "ActionResult" og "ViewResult"?

"ActionResult" er en abstrakt klasse, mens "ViewResult" er afledt fra "AbstractResult" -klassen. "ActionResult" har et antal afledte klasser som "JsonResult", "FileStreamResult" og "ViewResult".

"ActionResult" er bedst, hvis du dynamisk udleder forskellige typer visning.

21) Forklar, hvordan du kan sende resultatet tilbage i JSON-format i MVC?

For at sende resultatet tilbage i JSON-format i MVC, kan du bruge klassen "JSONRESULT".

22) Forklar hvad er forskellen mellem visning og delvis visning?

Udsigt

Delvis visning

  • Den indeholder layout-siden
  • Før nogen visning gengives, gengives viewstart-siden
  • Visning kan have markeringstag som body, html, head, title, meta osv.
  • Visning er ikke let sammenlignet med delvis visning
  • Den indeholder ikke layoutsiden
  • Delvis visning verificerer ikke for en viewstart.cshtml. Vi kan ikke placere fælles kode til en delvis visning i viewStart.cshtml.page
  • Delvisningen er designet specielt til at gengive i visningen, og netop derfor består den ikke nogen markering
  • Vi kan give en regelmæssig visning til RenderPartial-metoden

23) Angiv typerne af resultatet i MVC?

I MVC er der tolv typer resultater i MVC, hvor "ActionResult" -klassen er hovedklassen, mens de 11 er deres undertyper

  • ViewResult
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Nævn, hvad er vigtigheden af ​​NonActionAttribute?

Alle offentlige metoder i en controller-klasse behandles som handlingsmetoden, hvis du vil forhindre denne standardmetode, skal du tildele den offentlige metode med NonActionAttribute.

25) Nævn, hvad er brugen af ​​standardruten {resource} .axd / {* pathinfo}?

Denne standardrute forhindrer, at anmodning om en webressourcefil, såsom Webresource.axd eller ScriptResource.axd, sendes til controlleren.

26) Nævn rækkefølgen af ​​de filtre, der bliver udført, hvis de flere filtre er implementeret?

Filterrækkefølgen ville være som

  • Autorisationsfiltre
  • Handlingsfiltre
  • Svarfiltre
  • Undtagelsesfiltre

27) Nævn hvilke filtre der udføres i sidste ende?

I sidste ende udføres "Undtagelsesfiltre".

28) Nævn, hvad er filtypenavne til barbermaskinevisninger?

For barbermaskiner er filtypen

  • .cshtml: Hvis C # er programmeringssprog
  • .vbhtml: Hvis VB er programmeringssprog

29) Nævn, hvad er de to måder at tilføje begrænsninger på en rute?

To metoder til at tilføje begrænsninger til ruten er

  • Brug af regulære udtryk
  • Brug af et objekt, der implementerer IRouteConstraint-interface

30) Nævn to tilfælde, hvor routing ikke er implementeret eller krævet?

To tilfælde, hvor routing ikke er påkrævet, er

  • Når der findes en fysisk fil, der matcher URL-mønsteret
  • Når routing er deaktiveret for et URL-mønster

31) Nævn, hvad er de største fordele ved at bruge MVC?

Der er to vigtige fordele ved at bruge MVC

  • Da koden flyttes bag en separat klassefil, kan du bruge koden i høj grad
  • Da bag kode simpelthen flyttes til.NET-klasse, er det muligt at automatisere UI-test. Dette giver mulighed for at automatisere manuel test og skrive enhedstest.