I googled around on how to pass mvc model to knockoutjs and it seems there are two ways:
@Html.Raw(Json.Encode(Model)) is used when you want the data to be sent as part of the actual page download. This could result in your page taking longer to be rendered to the user but when it does render it should be all ready to go.
$.get or $.ajax will instead get the data while the page is rendering. This creates a separate call which will result in your page updating after it's rendered.
As for which to use.. it depends on how your page is laid out, whether or not you have to have all data there to start with and how long it takes to get your data vs. render your page.