Asp.net mvc 4 如何将其转换为razor synxtax

Asp.net mvc 4 如何将其转换为razor synxtax,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我正在尝试这个教程 因为我用的是razor,我是razor的新手,我不能转换这条线 <script type="text/javascript"> var initialData = <%= new JavaScriptSerializer().Serialize(Model) %>; //This Line ko.applyBindings(document.body, viewModel); $("form").va

我正在尝试这个教程

因为我用的是razor,我是razor的新手,我不能转换这条线

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


        ko.applyBindings(document.body, viewModel);
        $("form").validate({ submitHandler: function() { viewModel.save() } });
    </script>

var initialData=//这条线
应用绑定(document.body,viewModel);
$(“form”).validate({submitHandler:function(){viewModel.save()}});
我试过这样转换,但它是“预期类型”


var initialData=@new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model)//此行抛出错误
var viewModel={
礼品:ko.observableArray(初始数据)
};
应用绑定(document.body,viewModel);

尝试用以下内容替换有问题的行:

var initialData = @Html.Raw(Json.Encode(Model));

var initialData=“@(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model))”;
var viewModel={
礼品:ko.observableArray(初始数据)
};
应用绑定(document.body,viewModel);
试试这个:

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

<script type="text/javascript">
     var initialData = '@inData';

     var viewModel = {
         gifts : ko.observableArray(initialData) 
     };

    ko.applyBindings(document.body, viewModel); 
</script>
@{
string inData=new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(模型);
}
var initialData='@inData';
var viewModel={
礼品:ko.observableArray(初始数据)
};
应用绑定(document.body,viewModel);

发现的原因是javascript错误,而不是Razor。var initialData=“@(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model))
<script type="text/javascript">
var initialData = "@(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model))";


var viewModel = {
    gifts : ko.observableArray(initialData) 
};

ko.applyBindings(document.body, viewModel); 
</script>
@{
  string inData = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model);
}

<script type="text/javascript">
     var initialData = '@inData';

     var viewModel = {
         gifts : ko.observableArray(initialData) 
     };

    ko.applyBindings(document.body, viewModel); 
</script>