Asp.net mvc 3 如何在MVC 3 Razor中使用knockout.js?
我是新手淘汰赛.js。另外,我还在asp.NETMVC3中创建了上层中间层。我真的很想学习如何在MVC3Razor中使用knockout js?但下面的代码不起作用了,还给我空的总价。没有错误。请帮忙,谢谢 型号:Asp.net mvc 3 如何在MVC 3 Razor中使用knockout.js?,asp.net-mvc-3,mvvm,razor,knockout.js,Asp.net Mvc 3,Mvvm,Razor,Knockout.js,我是新手淘汰赛.js。另外,我还在asp.NETMVC3中创建了上层中间层。我真的很想学习如何在MVC3Razor中使用knockout js?但下面的代码不起作用了,还给我空的总价。没有错误。请帮忙,谢谢 型号: public class GiftModel { public string Title { get; set; } public double Price { get; set; } } 视图: 我猜你在跟踪 你有几个错误。第
public class GiftModel
{
public string Title { get; set; }
public double Price { get; set; }
}
视图:
我猜你在跟踪
你有几个错误。第一次替换:
var initialData = @(new JavaScriptSerializer().Serialize(Model));
与:
这可以确保您的模型是正确的JSON编码的。在原始文章中,Steven Sanderson正在使用WebForms视图引擎,但您似乎正在使用Razor视图引擎。因此,请确保相应地调整语法(不要忘记,@
razor函数会自动对输出进行html编码,与
public class TestController : Controller
{
//
// GET: /Test/
public ActionResult Index()
{
var initialState = new[] {
new GiftModel { Title = "Tall Hat", Price = 49.95 },
new GiftModel { Title = "Long Cloak", Price = 78.25 }
};
return View(initialState);
}
}
var initialData = @(new JavaScriptSerializer().Serialize(Model));
var initialData = @Html.Raw(Json.Encode(Model));
@model IEnumerable<GiftModel>
<h2>Index</h2>
<p>You have asked for <span data-bind="text: gifts().length"> </span> gift(s)</p>
<script src="@Url.Content("~/Scripts/knockout-2.1.0.js")" type="text/javascript"></script>
<script type="text/javascript">
var initialData = @Html.Raw(Json.Encode(Model));
var viewModel = {
gifts : ko.observableArray(initialData)
};
ko.applyBindings(viewModel);
</script>