当我的带有以下视图的表单发布到我的控制器操作MyAction
时,我在我的StartDate属性上获得了1/1/0001 12:00:00 AM的日期,即日期的格式应该是dd / MM / yyyy。我在表格上将其设置为14/04/2011,但它是在1/1/0001。是否有一些文化或设置我没有正确配置?
在我的控制器中,文化设置为
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-AU");
行动发布到:
[HttpPost]
public ActionResult MyAction(MyViewModel myViewModel)
{
if (!ModelState.IsValid) return View("Index", myViewModel);
...
查看型号:
public class MyViewModel
{
[DataType(DataType.Date)]
[DisplayName("Start Date")]
[Required]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime StartDate { get; set; }
}
观看视频:
<%=Html.EditorFor(m => m.StartDate, new { style = "width: 110px;", @class = "date" })%>
答案 0 :(得分:0)
我的不好,我没有在Thread.CurrentThread.CurrentCulture
中设置MyAction
,只在Index
行动中设置BaseController
。我将逻辑移动到所有控制器都扩展的{{1}}类中。