我们有一个 common.js 文件,其中包含常用的 client/jquery 相关功能和验证。这个 common.js 包含在 _Layout.cshtml 中。在这个 common.js 文件中,我们有 datepicker 代码,以保持应用程序的一致性,如下所示,
function OsDatepicker(id, date, maxdt, dDate) {
var ctrl = "#" + id;
var d = new Date();
var currYear = d.getFullYear();
if (date == 0)
var yrrange = (parseInt(currYear) - 4) + ":" + (parseInt(currYear) + 2);
else
var yrrange = (parseInt(currYear) - 70) + ":" + (currYear);
$(ctrl).datepicker({ dateFormat: 'dd/mm/yy',
changeYear: true,
autoSize: true,
yearRange: yrrange,
constrainInput: true,
showOn: "both",
buttonImage: '../../../Content/images/Calendar.png',
buttonImageOnly: true,
showanim: "slide",
//defaultDate: dDate, //not working
inline: true
});
if (maxdt == 0)
$(ctrl).datepicker("option", "maxDate", "+0d");
$(ctrl).datepicker("option","setDate", new Date(dDate)); //not working
}
上面的函数在cshtml脚本中被调用如下,
$(document).ready(function () {
var dobDate = $("#Date_Of_Birth").val();
var jtDate = dobDate.split(" ");
OsDatepicker('Date_Of_Birth', 1, 0, jtDate[0]);
});
我的剃须刀代码如下,用于出生日期
<div style="width: 260px; float: left; height: 45px;">
<label class="field_title">
@Html.LabelFor(model => model.Date_Of_Birth)</label>
<div class="form_input">
@Html.EditorFor(model => model.Date_Of_Birth)
@Html.ValidationMessageFor(model => model.Date_Of_Birth)
</div>
</div>
上面的标记如下,
<input class="text-box single-line" id="Date_Of_Birth" name="Date_Of_Birth" type="text" value="13-10-1988 00:00:00" />
如您所见,模型正在正确获取日期,该日期也正确传递给 OSDatepicker 函数。
加载表格时,出生日期文本框为空白,无法破解。您的建议会有所帮助。提前致谢。