我对jquerydatepicker和TextBoxFor()方法有疑问。 我有一个asp.net表单,我用它来创建和编辑一个对象。我使用相同的表单进行编辑和创建。 它看起来像这样:
<script>
$(function () {
$("#datepicker2").datepicker(
{
dateFormat: 'yy.mm.dd'
});
});
</script>
<div class=demo><%= Html.TextBoxFor(m => m.Distribution.ToDate, new { id = "datepicker2", type = "text" })%></div>
它工作正常,但我的问题是,当我使用编辑时如何格式化日期?对于创建它没关系,因为它将显示一个空文本框,如果我选择一个日期,它将采用正确的格式。在编辑中,它首先显示整个日期时间值,然后我选择一个日期,它以我想要的方式显示该日期。但是我该怎么做,以便它从一开始就按照我想要的方式显示它?
我试着这样做:
<%= Html.TextBoxFor(m => m.Distribution.ToDate.ToShortDateString(), new { id = "datepicker2", type = "text" })%>
但它会出错。
有什么建议吗?
答案 0 :(得分:2)
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$('#startDatePicker').datepicker({ clickInput: true });
});
</script>
<% var attributes = (new Dictionary<string, object> { { "Value", Model.Plan.StartDate.ToShortStrin() } }); %>
<% attributes.Add("style", "width:80px; text-align:right"); %>
<% attributes.Add("ID", "startDatePicker"); %>
<%: Html.TextBoxFor(model => model.Plan.StartDate, attributes)%>