在 asp.net mvc 3 中使用特定区域性的日期绑定列表失败
我有这种情况,我需要接受三个会议日程,下面是
会议日程模型
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,模型绑定器无法绑定它,而是显示默认的日期时间值。
请帮我解决这个问题,
谢谢
i have this scenario where i need to accept three meeting schedules , below are the details
meeting Schedule model
public class MeetingSchedule
{
public DateTime Date { get; set; }
}
Form looks like
<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>
and Action
[HttpPost]
public ActionResult Schedule(List<MeetingSchedule> meetingSchedules)
{}
i set the culture
<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>
Still could not bind Date of format "dd/MM/yyyy", ex: if i choose any one date as 26/10/2011 , the model binder could not bind it , instead show default DateTime Value.
Please help me with this
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我遇到了同样的问题,发现问题出在代码上。
如果您将操作视为普通方法,则模型绑定程序会在调用操作方法时启动,在此之前如果您已经设置了区域性信息,那么就一切就绪了。
在构造函数中添加以下代码:
现在再试一次,模型绑定器现在应该能够识别 dd/MM/yyyy 格式的日期。
I ran into same issue and found out the problem is with the code.
If you think of action as a plain method, the model binder kicks in when the action method is invoked, prior to this if you have set the culture info then you are all set.
In the constructor add following code:
Now try again, the model binder should now be able to recognize the date in dd/MM/yyyy format.