我正在开发一个mvc项目并且我发布了一个未知数量的值(复杂对象) - 输入字段是javascript生成的。 问题是在表单POST上,SortedDictionary类型的属性为空。
以下是所有内容的样子: 控制器:
public virtual ActionResult AddLocation(CompanyLocationModel model)
{
...do something with the model ...
}
CompanyLocationModel(简化):
public class CompanyLocationModel
{
public CompanyLocationModel()
{
WorkingHours = new List<WorkingHour>();
}
public ObjectId Id { get; set; }
public List<WorkingHour> WorkingHours { get; set; }
.....
}
工作时间班:
public class WorkingHour
{
public WorkingHour()
{
Hours = new SortedDictionary<DateTime, DateTime>();
}
public int DayOfWeek { get; set; }
public SortedDictionary<DateTime, DateTime> Hours { get; set; }
}
html应该如何? 我试过这个:
<input type="hidden" name="WorkingHours[0].DayOfWeek" value="1">
<input type="hidden" name="WorkingHours[0].Hours[08:00]" value="16:00">
... repeat n times...
和此:
<input type="hidden" name="WorkingHours[0].DayOfWeek" value="2">
<input type="hidden" name="WorkingHours[0].Hours.Key" value="08:00">
<input type="hidden" name="WorkingHours[0].Hours.Value" value="16:00">
... repeat n times...
但它不起作用。提交WorkingHours列表,我在POST上获得每个项目的DayOfWeek值,但是小时值为空。