我有这样一个场景,我需要接受三个会议时间表,以下是细节
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格式的日期。