【问题标题】:How to handle Kendo UI MVVM Date Picker Initialisation如何处理 Kendo UI MVVM 日期选择器初始化
【发布时间】:2015-08-18 10:18:31
【问题描述】:

我有 2 个视图 ...

一个用于数字文本框:

@Html.TextBoxFor(m => m, new { 
    @class = "k-input",
    data_bind = "value: " + ViewData.TemplateInfo.HtmlFieldPrefix,
    data_role = "numerictextbox",
    data_format = @"\#",
    data_decimals = "0"
})
@Html.ValidationMessageFor(m => m)

还有一个用于日期选择器:

@Html.TextBoxFor(m => m, new
{
    @class = "k-input",
    data_bind = "value: " + ViewData.TemplateInfo.HtmlFieldPrefix,
    data_role = "datepicker",
    data_format = "dd MMM yyyy",
    type = "date"
})
@Html.ValidationMessageFor(m => m)

为什么数字框一能用,而日期选择器不能用?

一些附加信息:

我正在使用 Knockout Kendo 来 MVVM 将模型绑定到渲染字段。 所以在客户端,我最终得到了一个包含这两种字段类型的容器元素。

数据来自 OData 端点,因此日期采用标准 ISO 格式。

支持这个的javascript是...

$(function () {
    var model = new kendo.observable({
        data: null,
        fetch: function (callback) {
            $.get("...", function (res) {
                res.date = kendo.parseDate(res.date);
                result.data = res;
                if (typeof callback != 'undefined') { callback(); }
            });
         }
    });
    model.fetch(function () {
        var component = $("#...");
        kendo.bind(component, model.data);
    });
});

日期选择器是否需要以某种方式与数字框区别对待? 我的结果是一个标准的 html 日期字段,chrome 将其基本日期选择器附加到一个带有 kendo 向上向下箭头的数字文本框。

我希望在此之后两者都是标准剑道领域(除非我错过了什么)。

【问题讨论】:

    标签: javascript asp.net-mvc mvvm kendo-ui knockout-kendo


    【解决方案1】:

    好的,事实证明这一切都不是问题,事实上这是使用 MVVM 绑定对象初始化两个控件的正确方法。

    但问题在于页面上的另一个控件(位于 int 和日期控件之间),这意味着绑定过程在初始化数字框之后但在日期选择器之前被中断。

    我现在没那么疯狂了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-14
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 2010-10-27
      • 2019-11-02
      • 1970-01-01
      相关资源
      最近更新 更多