【发布时间】:2015-03-04 04:13:29
【问题描述】:
我们有一个使用 Knockout 和 Kendo UI 的 ASP.NET MVC 5.0 应用程序。由于历史原因,我们宁愿继续使用 Knockout 而不是使用 Kendo 的 MVVM 功能,但是,我们注意到 Kendo 与 KO 并不完全兼容。为了解决这两个框架之间的不兼容问题,我一直在研究 Knockout-Kendo 库 (v0.9.0)。 Knockout-Kendo 库有效,但我注意到当我使用 Kendo 的 Html Helpers 时,.k-input 类被应用于封装小部件的最外层跨度;显然,这改变了小部件的外观,在我看来,这不应该发生。到目前为止,我还没有找到一种解决方法来阻止 .k-input 类被不当应用。
最初,我认为 .k-input 类可能会被应用,因为我在 Knockout-Kendo 库使用的绑定语法中遗漏了一些微妙之处,但使用“标准”KO 绑定让我回到第一点,Kendo 小部件不要响应所有绑定。举例说明:
<div class="form-group">
<label for="Start">Start</label>
@Html.Kendo()
.DatePickerFor(m => m.Start)
.HtmlAttributes(new { data_bind = "kendoDatePicker: {enabled: enabledFlag, value: startDate}" })
</div>
使用此绑定语法声明小部件有效,但不适当地应用 .k-input 类。
<div class="form-group">
<label for="Start">Start</label>
@Html.Kendo()
.DatePickerFor(m => m.Start)
.HtmlAttributes(new { data_bind = "enabled: enabledFlag, value: startDate" })
</div>
并使用此绑定语法声明小部件,但无法正常工作。
所以,我的问题是:是否可以将 Knockout-Kendo 库与 Kendo 的 Html Helpers 一起使用,或者它是否仅设计用于 html 输入标签?
【问题讨论】:
标签: asp.net-mvc knockout.js kendo-ui kendo-asp.net-mvc knockout-mvc