无法将值传递给ko.observableArray

时间:2013-08-30 08:32:25

标签: jquery asp.net-mvc knockout-2.0

我是asp.net MVC开发人员。

在我的模型中如下,

public class GiftModel
{
    public string Title { get; set; }
    public double Price { get; set; }
}

控制器=>

public ActionResult Test()
{
    ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

    GiftModel[] initialState = new[] {
        new GiftModel { Title = "Tall Hat", Price = 49.95 },
        new GiftModel { Title = "Long Cloak", Price = 78.25 }
    };
    return View(initialState);
}

但是在执行时我会在脚本中停留,

initialValues =“”[{\“Title \”:\“Tall Hat ... ak \”,\“Price \”:78.25}]“”

var result = ko.observable(initialValues)

此输出无结果

1 个答案:

答案 0 :(得分:2)

据我所知,你需要创建一个observableArray,但问题是你的initialValues是一个字符串。您需要使用JSON.parse

将字符串转换为对象
initialValues= JSON.parse("[{\"Title\":\"Tall Hat...ak\",\"Price\":78.25}]");
var result = ko.observableArray(initialValues)