他の SO の質問と Google の結果に大まかに基づいた次の EditorTemplate を作成しました。
@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
です。私はその理由を理解しており、考えられる解決策の 1 つは、スクリプトを .js ファイルにドロップして自分のページで参照することであることを知っています。それはそれほど難しいことでも何でもありませんが、もう少し... シームレス/魔法のような解決策があることを望んでいました(なぜですか?楽しい、それはきちんとしているからです..)。何か案は?