是否可以借助DateTime
中的HTML Hepler
方法以 dd / mm / yyyy 格式显示Asp.NET MVC
值?我尝试通过在@Html.LabelFor
中使用某些格式并在相关属性中添加一些注释(如下所示)来实现此目的,但这没有任何意义。任何帮助解决这个问题都将不胜感激。
型号:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> RegistrationDate { get; set; }
答案 0 :(得分:78)
您所要做的就是在html帮助程序调用中应用您想要的格式,即
@Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")
您无需在模型类中提供日期格式。
答案 1 :(得分:50)
经过几个小时的搜索,我刚刚用几行代码解决了这个问题
您的模型
[Required(ErrorMessage = "Enter the issued date.")]
[DataType(DataType.Date)]
public DateTime IssueDate { get; set; }
Razor Page
@Html.TextBoxFor(model => model.IssueDate)
@Html.ValidationMessageFor(model => model.IssueDate)
Jquery DatePicker
<script type="text/javascript">
$(document).ready(function () {
$('#IssueDate').datepicker({
dateFormat: "dd/mm/yy",
showStatus: true,
showWeeks: true,
currentText: 'Now',
autoSize: true,
gotoCurrent: true,
showAnim: 'blind',
highlightWeek: true
});
});
</script>
Webconfig文件
<system.web>
<globalization uiCulture="en" culture="en-GB"/>
</system.web>
现在,您的文本框将接受“dd / MM / yyyy”格式。
答案 2 :(得分:9)
我知道这是一个较旧的问题,但作为参考,一种非常简单的格式化日期的方法,没有任何数据注释或任何其他设置如下:
@Html.TextBoxFor(m => m.StartDate, new { @Value = Model.StartDate.ToString("dd-MMM-yyyy") })
上述格式当然可以改为。
答案 3 :(得分:6)
因为问题是&#34;显示&#34; :
@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
答案 4 :(得分:6)
或者只在视图中使用它(Razor页面)
@item.ResgistrationhaseDate.ToString(string.Format("dd/MM/yyyy"))
我建议不要在模型类中添加日期格式
答案 5 :(得分:2)
您需要使用html帮助程序,而不需要在模型类中提供日期格式。 e.x:
@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")
答案 6 :(得分:0)
在 2019 中回答这个问题可能为时已晚。但我尝试了所有答案,但没有一个对我有用。因此,我以这种方式解决了这个问题:
@Html.EditorFor(m => m.SellDateForInstallment, "{0:dd/MM/yyyy}",
new {htmlAttributes = new { @class = "form-control", @type = "date" } })
EditorFor
对我有用。
请注意,SellDateForInstallment
是Nullable
日期时间对象。
public DateTime? SellDateForInstallment { get; set; } // Model property
答案 7 :(得分:0)
我在礼仪系统web里面的“Web.config”中做了一个全局配置:
全球化 uiCulture="en"culture="en-US
在 CsHtml 中: @Html.TextBoxFor(model => model.fechaConfirmacion, new { @type = "date", @Value = Model.fechaConfirmacion.ToString("MM/dd/yyyy hh:mm:sszzz") })