【问题标题】:How to recognise an array of System.DayOfWeek values posted via Ajax如何识别通过 Ajax 发布的 System.DayOfWeek 值数组
【发布时间】:2012-03-30 20:15:40
【问题描述】:

这是对一个常见问题的稍微原始的变体。我有一个相当简单的模型,如下所示:

public class Departure
{
    public string Id { get; set; }
    public Route Route { get; set; }
    public TimeSpan Time { get; set; }
    public string Timetable { get; set; }
    public DayOfWeek[] ServicesRunning { get; set; }
    public string Notes { get; set; }
}

我将一个填充对象发布回服务器,但填充 DayOfWeek 值数组是有问题的。整数值和字符串没有被正确识别,所以必须有一种特殊的技术来正确地做到这一点,但我无法解决它。

任何帮助将不胜感激。 post 方法如下所示:

    // POST /api/stops
    [HttpPost]
    public void Post(Departure dep)
    {
        Session.Store(dep);
    }

【问题讨论】:

    标签: jquery ajax asp.net-mvc


    【解决方案1】:

    您可以编写一个 ModelBinder 从通过 AJAX 传入的整数中设置 DayOfTheWeek 枚举值。查看此答案了解更多详情。

    Model Binding to Enums in ASP.NET MVC 3

    【讨论】:

      【解决方案2】:

      以下内容:

      $.ajax({
          url: '@Url.Action("post")',
          type: 'POST',
          contentType: 'application/json',
          data: JSON.stringify({
              dep: {
                  servicesRunning: [ 'Monday', 'Tuesday', 'Wednesday' ]
              }
          }),
          success: function () {
      
          }
      });
      

      对我来说很好。

      【讨论】:

        猜你喜欢
        • 2013-09-09
        • 2011-02-10
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 2011-01-03
        • 1970-01-01
        • 1970-01-01
        • 2014-09-01
        相关资源
        最近更新 更多