0
我是KnockOutJs的新手,并开发一个使用KnockOutJs维护客户端模型状态和Asp.Net Webforms的页面。 当我从服务器请求一个页面时,控件(如文本框,跨度)已经被Asp.Net代码填充。KnockoutJs applyBindings清除由Asp.net设置的默认值Webforms
<asp:TextBox runat="server" class="form-control" text="John" data-bind="value: firstName" id="txtFirstName"></asp:TextBox>
在我的JavaScript
现在,当我定义我的视图模型
var viewModel = { userId = ko.observable() }
ko.applyBindings(viewModel);
的applyBindings语句使文本框的值被重置,因为我不是在ko.observable定义我的初始值() 。
是否有将不适用该模型DOM元素applyBindings过载而只是结合使用DOM模型或执行相反(即读取DOM值代入模型)
我现在不能做到这一点,但我怀疑一个自定义的结合可能是去这里的路。因此,不是使用内置的'value'绑定,而是编写自己的代码来完成同样的事情,但是可以从DOM中获取初始值。如果没有其他人,那么明天我会试一试。 – 2014-12-03 22:43:44
或者,无论您的代码是在后面的代码中设置文本框的值,您是否可以改变它,以便将值注入到javascript viewmodel中? – 2014-12-03 22:46:18
@JamesThorpe,感谢您的指导,我会在周末尝试这个。 – 2014-12-05 22:39:52