gpt4 book ai didi

asp.net-mvc - Knockout JS - 一种绑定(bind)方式以保留服务器值?

转载 作者:行者123 更新时间:2023-12-02 20:19:41 25 4
gpt4 key购买 nike

我目前正在 MVC 应用程序中的 Knockout 中设置一个表单并显示数据库中的数据,例如:

@Html.EditorFor(model => model.AddressPostcode) // This is filled in from the Controller.

这很好,正如预期的那样。然而,我对 Knockout JS 进行了大量工作,并希望在我的搜索中使用该值(因此,在此邮政编码元素上使用 data-bind="value: postcode"

问题?好吧,当你绑定(bind)到 postcode: ko.observable('') 时,预填充的服务器值被替换为“”(正如您所期望的那样)。有什么办法可以解决这个问题吗?

最佳答案

值绑定(bind)会覆盖预定义值,我认为同时使用服务器端 MVC 和客户端 MVVM 是一种反模式,但如果您确实想采用此路线,则需要创建自己的绑定(bind),例如

ko.bindingHandlers.valueWithInit = {
init: function(element, valueAccessor, allBindingsAccessor, context) {
var observable = valueAccessor();
var value = element.value;

observable(value);

ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor, context);
},
update: ko.bindingHandlers.value.update
};

关于asp.net-mvc - Knockout JS - 一种绑定(bind)方式以保留服务器值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com