【问题标题】:View - Date format again查看 - 再次日期格式
【发布时间】:2016-03-01 00:32:13
【问题描述】:

我想使用引导日期选择器以“dd/MM/yyyy”格式显示日期。 我有以下代码:

@Html.TextBoxFor(model => model.StartDate, "{0:dd/MM/yyyy}", new { @class = "w8em format-y-m-d form-control", @value=Model.StartDate.ToShortDateString("dd/MM/yyyy") })

它显示即“20/10/2015”(2015 年 10 月 20 日)。但是当我点击它打开 datapicker 时,它会选择 2015 年 8 月 10 日(为什么是 8 月?我不知道)。如果我只是关闭 datepicker(没有选择内部的任何内容) - 文本框值将更改为 '08/10/2015'。如果我没有触摸页面上的任何内容,只需单击表单上的“保存”,StartDate 验证器会显示“开始日期不正确”并自动打开日期选择器。为什么如此奇怪的行为以及如何强制将格式更改为 dd/MM/yyyy? 浏览器是Chrome,乌克兰最新版本,日期选择器显示为英文...

更新:

我已经添加了

$('#@Html.IdFor(p=>p.StartDate)').datepicker({ dateFormat: 'dd/mm/yyyy' });

不工作

【问题讨论】:

  • 你附加插件的时候配置好格式了吗?显示脚本。并且您不应该尝试覆盖value 属性(删除@value=Model.StartDate.....
  • $('#@Html.IdFor(p=>p.StartDate)').datepicker({ dateFormat: 'dd/mm/yyyy' }); - 不工作
  • 对我来说很好 - 参考fiddle
  • 是的,这是我的代码中的错误:应该是“格式”,而不是“日期格式”

标签: validation date datepicker asp.net-mvc-5 data-annotations


【解决方案1】:

应该是

$('#@Html.IdFor(p=>p.StartDate)').datepicker({ format: 'dd/mm/yyyy' });

而不是

$('#@Html.IdFor(p=>p.StartDate)').datepicker({ dateFormat: 'dd/mm/yyyy' });

(查看 datepicker 参数,应该是 'dateFormat' 而不是 'format')

【讨论】:

  • 虽然这段代码可能会回答这个问题,但最好解释一下它是如何解决问题的以及为什么要使用它。从长远来看,纯代码的答案没有用处。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
相关资源
最近更新 更多