¿Cómo habilitar el enlace de datos en KnockoutJS utilizando el motor de visualización "Razor" ASP.NET MVC 3?

Estoy tratando de implementareste ejemplo de Knockout utilizando el motor de vista "Razor" de ASP MVC 3.

El primer tema cubre el enlace de datos simple de una matriz C # utilizando el motor de vista ASP estándar. Estoy probando el ejemplo de muestra usando "Razor", y esta línea:

<script type="text/javascript"> 
    var initialData = <%= new JavaScriptSerializer().Serialize(Model) %>; 
</script>

results en una variable vacía paradatos iniciale.

También probé esto:

@{
    string data = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model);
}

Y luego especificó los datos iniciales de esta manera:

var initialData = @Html.Raw(data);

Esto llenadatos iniciale con el conjunto de datos, pero el enlace no funciona.

Solo intento vincular este conjunto de datos para mostrar un recuento de las ideas, como en el ejemplo:

<p>You have asked for <span data-bind="text: gifts().length">&nbsp;</span> gift(s)</p>

¿Por qué no funciona el enlace de datos en esta instancia?

Respuestas a la pregunta(2)

Su respuesta a la pregunta