Breezejs:直接将对象绑定到表单字段

时间:2012-12-10 04:27:59

标签: asp.net asp.net-mvc knockout.js asp.net-web-api breeze

我从breezejs开始,无法想象如何在我的表单中绑定一个对象。

假设我有一个这样的控制器方法:

    public Vehicle GetById(string id)
    {
        return contextProvider.Context.FirstOrDefault<Vehicle>(v => v.Id == id);
    }

viewmodel类似于:

    var MyVM = function () {
          Vehicle: ko.observable({})
    }

查询如下:

    var manager = new breeze.EntityManager("Api/Vehicle");
    var execquery = new breeze.EntityQuery()
            .from(actionName)
            .where(condition);
    return manager
            .executeQuery(execquery)
            .then(querySucceeded);

结果方法:

function querySucceeded(data) {
   var r1 = data.results[0];
   MyVM.Vehicle(r1);  // Take a look here
}

淘汰赛绑定:

  <input type="text" id="VehicleId"
            data-bind="value: Vehicle().Id">

这适用于加载和编辑数据,但不适用于保存。

经理的hasChanges()方法总是返回false。

我做错了什么?我怎么能直接将对象绑定到我的表单字段?

0 个答案:

没有答案