KendoUI:数据绑定不完全正常

时间:2015-07-28 00:56:32

标签: asp.net data-binding kendo-ui

我在本地创建了这个示例

http://demos.telerik.com/kendo-ui/mvvm/remote-binding

在我的'更新'传输中,我确实修改了我的WebAPI中的'ProductName'

    public IHttpActionResult Update(Product prod)
    {
        prod.Price = prod.UnitPrice * prod.Quantity;
        prod.ProductName = prod.ProductName + DateTime.Now.ToString();
        return Ok(prod);
    }

它确实更新并反映在我的'下拉列表'上。

问题是文本框id =产品未显示最新的产品名称。文本框使用

绑定
data-bind="value: selectedProduct.ProductName"

如何刷新此文本框?

谢谢。

除了这个

之外,一切都是一样的
                    update: {
                        url: "/Product/Update",
                        contentType: "application/json",
                        type: "POST"
                    },

和此。

                    parameterMap: function (data, type) {                          
                        return kendo.stringify(data);

                    }

如果没有做出这些改变;我的webapi不会收到任何价值。

  • 我注意到绑定在某种程度上暂时被打破了;是因为它使用var'selectedProduct'间接引用?

1 个答案:

答案 0 :(得分:0)

我相信,您的文本框未更新的原因有两个:1)您正在更改服务器上的数据而不是客户端,2)文本框与{{1}相关联变量,它与数据源无关。

换句话说,当您提交更新时,因为您的下拉列表绑定到selectedProduct数据源,所以它的数据会自动更新,并刷新列表以显示更改。这是预料之中的。另一方面,productSource不以任何方式绑定到数据源,因此,在调用更新之前,它仍保留旧值。

解决方案是您必须在更新请求返回后手动更新selectedProduct