Skip to Content
ASP.NET MVC 5 with Bootstrap and Knockout.js
book

ASP.NET MVC 5 with Bootstrap and Knockout.js

by Jamie Munro
May 2015
Intermediate to advanced
278 pages
5h 35m
English
O'Reilly Media, Inc.
Content preview from ASP.NET MVC 5 with Bootstrap and Knockout.js

Chapter 7. Server-Side ViewModels

Chapter 3 introduced client-side ViewModels that are used to perform data bindings with Knockout. I would consider them identical in purpose, but they live at a different level in the lifecycle of a web request.

A server-side ViewModel is generated from a data model. The ViewModel is then bound to a view. In Chapter 5 and Chapter 6 when the AuthorsController was scaffolded from the Author model, the Author model is also being used as a ViewModel for the various views in the CRUD operation.

In Chapter 6, client-side ViewModels were created that accepted the ViewModel from the Razor view (the data model), and they were bound to the view via Knockout. The major difference between client-side and server-side ViewModels is that server-side ViewModels are static. Once the web request has been returned from the server to the client, the server-side ViewModel will never change, whereas the client-side ViewModel is dynamic and responds to user interactions on the web page.

Why Create Server-Side ViewModels?

This is  an important question. As you will see very soon, when I create an Authors ViewModel, it will be nearly identical to the Authors model, so why should we create them?

In Chapter 5, when the AuthorsController was first scaffolded from the Author model, the list of authors was serialized to JSON and provided to the client-side ViewModel. If you view the source of the authors index page, you will notice the list of books for each author was also ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Bootstrap for ASP.NET MVC - Second Edition

Bootstrap for ASP.NET MVC - Second Edition

Pieter van der Westhuizen

Publisher Resources

ISBN: 9781491914373Errata Page