在asp.net mvc 3中使用特定区域性的日期绑定列表失败



我有这样一个场景,我需要接受三个会议时间表,以下是细节

meeting Schedule model

public class MeetingSchedule
{
    public DateTime Date { get; set; }
}

表单看起来像

<form action="@Url.Action("Schedule")" method="post" >
    <input type="text" name="meetingSchedules[1].Date" id="schedule2" class="datepicker" />
    <input type="text" name="meetingSchedules[2].Date" id="schedule3" class="datepicker" />
</form>

和行动

[HttpPost]
public ActionResult Schedule(List<MeetingSchedule> meetingSchedules)
    {}

设置区域性

<system.web>    
    <globalization uiCulture="en-GB" culture="en-GB" />
</system.web>

仍然无法绑定格式为"dd/MM/yyyy"的日期,例如:如果我选择26/10/2011的任何一个日期,模型绑定器无法绑定它,而是显示默认的DateTime值

请帮我解决这个问题

谢谢

我遇到了同样的问题,发现问题出在代码上。

如果您认为操作是一个普通的方法,那么当操作方法被调用时,模型绑定器将启动,在此之前,如果您已经设置了区域性信息,那么您就已经设置好了。

在构造函数中添加以下代码:

System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");

现在再试一次,模型绑定器现在应该能够识别dd/MM/yyyy格式的日期。

最新更新