我编写了以下 EditorTemplate,它大致基于其他一些 SO 问题和 Google 结果:
@model Nullable<DateTime>
@{
var metadata = ModelMetadata.FromStringExpression("", ViewData);
string value;
if(!String.IsNullOrEmpty(metadata.EditFormatString)) {
if(Model.HasValue) {
value = String.Format(metadata.EditFormatString, Model.Value);
}
else {
value = metadata.NullDisplayText;
}
}
else {
value = Model.ToString();
}
}
@Html.TextBox("", value, new { @class = "textBoxDate" })
<script type ="text/javascript">
$(document).ready(function () {
$('.textBoxDate').datepicker();
});
</script>
我不喜欢的是脚本写在每个textBoxDate
. 我了解原因,并且我知道一种可能的解决方案是将脚本放入 .js 文件并在我的页面上引用它。这并不是非常困难或任何事情,但我希望有一个解决方案,它会更多一点......无缝/神奇(为什么?有趣,它会很整洁,只是因为......)。有任何想法吗?