Javascript 属性为SortedDictionary类型的MVC post对象列表
我正在处理一个mvc项目,我一直在发布未知数量的值。复杂的对象输入字段是由javascript生成的。 问题在于,在form POST上,类型SortedDictionary的属性为空 下面是所有这些的样子: 控制员:Javascript 属性为SortedDictionary类型的MVC post对象列表,javascript,c#,asp.net-mvc,post,sorteddictionary,Javascript,C#,Asp.net Mvc,Post,Sorteddictionary,我正在处理一个mvc项目,我一直在发布未知数量的值。复杂的对象输入字段是由javascript生成的。 问题在于,在form POST上,类型SortedDictionary的属性为空 下面是所有这些的样子: 控制员: public virtual ActionResult AddLocation(CompanyLocationModel model) { ...do something with the model ... } 公司定位模型简化为: public class Comp
public virtual ActionResult AddLocation(CompanyLocationModel model)
{
...do something with the model ...
}
公司定位模型简化为:
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值,但小时值为空。我认为,因为.Hours是一个分类字典,它可以有多个键/值对,所以应该在.Hours之后包含一个索引,即.Hours[0].key。如果您只需要一对,则使用KeyValuePair。对于每个列表项,只有一个小时对,但我尝试的两个选项都不起作用。在这种情况下,为什么不使用.StartHour属性和.EndHour属性?如果这不起作用,你可能需要设置不同于你目前正在做的时间格式…我无法修改项目的模型。我必须在创建时使用它。我不知道创建它的原因。工作时间[0]。工作时间[0]。键已工作,谢谢:。我认为关键,价值面值就足够了