Asp.net mvc 在带有敲除的局部视图中的元素上执行kendoDatePicker
因此,我正在通过敲除将数据与元素绑定。然后,当我单击一个按钮时,会有一个局部视图进行渲染。到目前为止,一切都很顺利,我得到了我需要的正确数据来进行部分测试。 问题是,我有一个输入,我想表现得像一个kendoDatePicker,但它不会。我注意到,当我单击按钮渲染局部视图时,它会执行正确的方法并获得正确的数据,但使用相同的方法Asp.net mvc 在带有敲除的局部视图中的元素上执行kendoDatePicker,asp.net-mvc,knockout.js,partial-views,kendo-datepicker,kendo-datetimepicker,Asp.net Mvc,Knockout.js,Partial Views,Kendo Datepicker,Kendo Datetimepicker,因此,我正在通过敲除将数据与元素绑定。然后,当我单击一个按钮时,会有一个局部视图进行渲染。到目前为止,一切都很顺利,我得到了我需要的正确数据来进行部分测试。 问题是,我有一个输入,我想表现得像一个kendoDatePicker,但它不会。我注意到,当我单击按钮渲染局部视图时,它会执行正确的方法并获得正确的数据,但使用相同的方法 $(“#id”).kendoDatePicker()
$(“#id”).kendoDatePicker()但是DOM元素还没有呈现,我想这就是问题所在。我试着敲除绑定元素,比如:
,但是甚至没有日期。
请注意,局部视图中的主div是这样绑定的您是对的,DOM中没有元素是问题所在。请注意,knockout负责处理DOM更改,因此尝试获取元素并在knockout之外使用它们不是一种好的做法
相反,使用。它们允许您创建一个自定义绑定,在DOM元素上操作knockout以及他如何处理它们。因此:
ko.bindingHandlers.kendoDatePicker={
init:函数(元素、valueAccessor、allBindings、viewModel、bindingContext){
//在这里,您可以通过callnig valueAccessor()访问(并可能将其传递给选项)该“值”。
$(元素).kendoDatePicker();
}
};
ko.应用绑定({})代码>
谢谢你的回答!对于我来说,这是唯一的方法,我刚刚开始研究定制绑定和敲除。