Posts

Er worden posts getoond met het label MVC

MVC 70-486: Chapter 1

Afbeelding
Objective 1.1: Design the application architecture Routes and routing De routing engine weet niks van MVC af. Zijn enige taak is de URL te analyseren en de controle over te dragen aan de route handler. De route handler gaat op zoek naar een HTTP handler, of een implementatie van IHttpHandler. De default HttpHandler is de MvcHandler. Deze handler extraheert de controller informatie door de request te vergelijken met de template waarden in de routing tabel. De handler haalt de strings eruit en stuurt deze naar de controller factory die op zijn beurt de geschikte controller teruggeeft. Asynchronous controllers Een grote aanpassing in MVC 4 t.o.v. MVC 3 zijn asynchrone controllers. In MVC zijn deze nu standaard opgenomen terwijl in MVC 3 gebruik maakte van een AsyncController.  Async controllers zijn handig voor niet  CPU-gebonden requests. Bij het maken van Action methods moet bepaalt worden of deze async moeten zijn of niet. Dit hangt af of de actie network- of I/O ...

Max Json lengte in MVC

Als je werkt met grote Ajax-requests kan het voorkomen dat je deze exception tegenkomt: 'The JSON request was too large to be deserialized.' Dit betekent dat de Json die naar de server wordt gestuurd simpelweg te groot is en daardoor wordt genegeerd door MVC met als resultaat deze exception. Om dit probleem te verhelpen zijn er twee oplossingen. Wanneer je welke moet gebruiken ben ik nog niet achter, maar als je beide toepast werkt het altijd. In de web.config: <configuration> <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="500000"> </jsonSerialization> </webServices> </scripting> </system.web.extensions> </configuration> Hierbij geef je bij 'maxJsonLength' het aantal bytes op. let op dat dit veld een integer is. Bij de tweede oplossing pas je ook de web.config aan, want je voegt namelijk een appsetting toe: ...

[MVC] ViewData, TempData en ViewBag

In MVC zijn er verschillende manieren om data van de Controller in de view te krijgen. Eén mogelijkheid is om gebruik te maken van ViewData, TempData of de ViewBag. Het was niet geheel duidelijk wat nu precies het verschil is tussen deze datahouders, dus heb ik het even uitgezocht. ViewData wordt gebruikt in één controller en kan vervolgens weer worden opgevraagd vanuit de View. Als er in de controller een redirect zou plaatsvinden naar een andere action, dan verliest ViewData zijn waarde. public ActionResult Create() { // Sla waarde op in ViewData ViewData["Error"] = "Fout opgetreden bij het het aanmaken van ..."; // Redirect naar de index return RedirectToAction("Index"); } public ActionResult Index() { // De variabele error is leeg var error = ViewData["Error"]; } De ViewBag is geïntroduceerd in MVC 3 en heeft dezelfde eigenschappen als de ViewData (na een redirect is het weer een leeg object). Het gebruik van de ViewBag is...