Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 属性为SortedDictionary类型的MVC post对象列表_Javascript_C#_Asp.net Mvc_Post_Sorteddictionary - Fatal编程技术网

Javascript 属性为SortedDictionary类型的MVC post对象列表

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

我正在处理一个mvc项目,我一直在发布未知数量的值。复杂的对象输入字段是由javascript生成的。 问题在于,在form POST上,类型SortedDictionary的属性为空

下面是所有这些的样子: 控制员:

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]。键已工作,谢谢:。我认为关键,价值面值就足够了