環境:
asp.net 3.5
我的日期是通過LIB使用ISO8601格式連載:Newtonsoft.json庫
目的:
創建2路在我的模型(Document.DocumentDate)和AJAX控件工具包日曆的延長文本日期字段之間的結合呃。 ajax日曆在後臺使用文本字段,因此我將下面的綁定應用於文本字段。加載頁面時,從對象到控件的綁定起作用,但在使用日曆擴展器更改文本字段後,文本值發生了更改,但我的基礎對象未更新,綁定中的update()方法都不會被調用。
下面的代碼:
data-bind="date: {jsonDate : Document.DocumentDate }"
ko.bindingHandlers.date = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var value = valueAccessor();
var dtStr = ko.unwrap(value.jsonDate);
var dt = new Date(dtStr);
var ret = dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear();
$(element).val(ret);
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
}
};
注:
如果我改變我的數據綁定表達式:
data-bind="value: Document.DocumentDate"
一切工作正常,但日期越來越呈現不是我的方式想在文字領域。這就是爲什麼我訴諸自定義綁定來格式化文本字段中的日期。
這是一個很好的解決方案。我現在用另一種解決方案,但會牢記這一點。 – ActiveX
@ActiveX - 好吧,沒問題 – TSV