如何从列表<Datetime> ASP NET MVC 中的多日期选择器接收日期?



在我的程序中,我为我的解决方案实现了多日期选择器(http://multidatespickr.sourceforge.net/)。我有一个名为 DatesDispo 的属性来接收从日历中选择的日期。

public List<DateTime> DatesDispo { get; set; }

在我的剃须刀视图中,我的日历有一个输入:

<div class="form-group">
    @Html.LabelFor(model => model.DatesDispo, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        <input name="DatesDispo" id="DatesDispo"></input>
    </div>
</div>

我看到我的日历,直到它在那里工作。但是在表格的发布中,我没有收到我在DateDispo字段中选择的日期。在调试模式下,我已经对此进行了测试并且它有效,但也许我更改了一些东西,现在我无法将选择的日期与我的日期字段绑定。有人知道为什么吗?我发誓我选择了 2 个日期,我的日期列表有一个计数 = 2。

编辑:从帖子接收的数据 => https://gyazo.com/629a7f01c6802b2cefc825d786b2470b

__RequestVerificationToken=FG381kMw0ANq_vV0ucoFr7Rrn6J1nqZNptlSy9JtT27JUggqOvru9Q FkPZP40QniZ_ZBtpBNzMN00MZA5Aq06ZByz3yAz9-YNXpNjMhOG0o1&IdHabilete=7&Adresse=&vill e=&CodePostal=&pays=&Province=&DateMax=2016-01-26+13%3A42%3A23&DateCreation=2016- 01-26+13%3A42%3A23&DatesDispo=01%2F28%2F2016%

2C+01%2F29%2F2016&Specification=Sys tem.Collections.Generic.List%601%5BFavornet.Models.Biz.SpecDemande%5D 日期Dispo=01%2F28%2F2016%2C+01%2F29%2F2016

从上面提取DatesDispo字段

DatesDispo=01%2F28%2F2016%2C+01%2F29%2F2016

尽管您打算发布日期集合。您将单个字段发布为单个字符串。在这种情况下,自动绑定对单个日期没有问题,但无法识别您发送多个日期的方式。

<input name="DatesDispo" id="DatesDispo"></input>

单个输入作为发送

DatesDispo=01%2F28%2F2016%2C+01%2F29%2F2016

"01/28/2016, 01/29/2016"

一种解决方案是将其作为需要解析回集合的字符串发送。

public class SomeModel
{
    public string DatesDispo { get; set; }
}
[HttpPost]
public ActionResult SendDates(SomeModel model)
{
    List<DateTime> dates = new List<DateTime>();
    var datesDispo = model.DatesDispo.Split(',');
    foreach(var date in datesDispo)
    {
        dates.Add(DateTime.Parse(date));
    }
    ...
}

相关内容

  • 没有找到相关文章

最新更新