我使用的是jQuery的datepicker。一旦选择,我希望它显示为9Feb,11。但是在保存时,我希望它转换为2/9/11。我如何做到这一点?
重新显示dte时,应再次显示9Feb,11。我该怎么做呢?
我的代码片段如下:
@Html.TextBoxFor(m => (Model.dDay.Date))
$("#dDay_Date").datepicker({ dateFormat: 'dd-M-yy' });发布于 2011-01-13 17:40:47
您可以使用“隐藏”选项来填充表单中的隐藏字段,只需将日期字段更改为altField:<input type="hidden" name="date" id="date" value=""/>即可。您还可以使用‘altFormat’设置alt字段的格式:
$("#date_display").datepicker({
dateFormat: 'd M y',
altField: '#date',
altFormat: 'dd-M-yy'
});发布于 2011-01-13 17:36:49
您可以将隐藏的输入字段添加到页面。使用altField和altFormat选项,您可以将数据以另一种格式发送到您的页面。
为此,您可以为DateTime格式创建自定义编辑器模板。将文件DateTime.cshtml添加到Views/Shared/EditorTemplates文件夹。
然后,您可以使用这样的内容(未测试):
@model DateTime?
@using System.Globalization
@{
var name = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldName(""));
var id = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldId(""));
var visibleID = id + "_editor";
var value = Model ?? DateTime.Today;
var formattedValue = value.ToString("dd MMM yyyy");
}
<input type="text" id="@(visibleID)" value="@formattedValue" />
<input type="hidden" id="@(id)" name="@(name)" value="@value.ToString("yyyy/MM/dd")" />
<script type='text/javascript'>
$(function () { $('#@(visibleID)').datepicker({ dateFormat: 'd mm y', altField='@id', altFormat='d/m/y' }); });
</script>然后您只需使用TextBoxFor,任何DateTime字段都将激活datetimepicker。
https://stackoverflow.com/questions/4678505
复制相似问题