如何处理 Kendo UI MVVM 日期选择器初始化
How to handle Kendo UI MVVM Date Picker Initialisation
我有 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 上下箭头的数字文本框。
我希望在这之后两者都是标准的 kendo 字段(除非我遗漏了什么)。
好吧,事实证明 none 这是错误的,事实上,这是使用 MVVM 绑定对象初始化两个控件的正确方法。
然而,问题出在页面上的另一个控件(位于 int 和日期控件之间),这意味着绑定过程在初始化数字框之后但在日期选择器之前被中断。
我现在不那么疯狂了。
我有 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 上下箭头的数字文本框。
我希望在这之后两者都是标准的 kendo 字段(除非我遗漏了什么)。
好吧,事实证明 none 这是错误的,事实上,这是使用 MVVM 绑定对象初始化两个控件的正确方法。
然而,问题出在页面上的另一个控件(位于 int 和日期控件之间),这意味着绑定过程在初始化数字框之后但在日期选择器之前被中断。
我现在不那么疯狂了。