2

大家好,我确实搜索过答案,但什么也没有。

我的问题与 dotvvm 框架有关。我已经将 dotvvm 安装到现有的 mvc 5 应用程序中并且可以正常工作,但是因为 dotvvm 不知道 razor 标记,所以我不能将 Telerik ui 用于 mvc。有人找到解决这个问题的方法了吗?

感谢您的解决方案或理事会。

谢谢

4

1 回答 1

3

Telerik MVC 控件现在不能在 DotVVM 页面中使用,我们正在考虑 MVC 互操作,但它还没有在框架中。

但是 MVC 控件是 Telerik Kendo UI 的包装器,可以在没有 ASP.NET MVC 的情况下使用。

有一个不错的Knockout Kendo 库,它允许将 Kendo UI 控件与 Knockout JS 一起使用。由于 DotVVM 基于 Knockout JS,您可以data-bind在 DOTHTML 页面中使用语法并访问 viewmodel 属性:

<input data-bind="kendoNumericTextBox: Price" />

视图模型如下所示:

public class MyPageViewModel { public decimal Price { get; set; } }

肯定会有一些限制,不幸的是没有用于 Kendo UI 的 DotVVM 包装器,但基本控件可以像这样工作。

如果您有更复杂的场景(DataGrid 控件或类似的东西),您可以使用纯 JavaScript 解决方案并使用以下 JavaScript 语法访问 viewmodel 属性:

dotvvm.viewModels.root.viewModel.Price()

但是 viewmodel 不是一个普通的 JS 对象,它是用 Knockout observables 包装的,所以你必须解包所有东西,或者dotvvm.serialization.serialize用来构建普通的 JS 对象。

于 2017-04-09T14:35:25.517 回答