在portablerest post中丢失了两个日期中的一个

时间:2015-08-27 13:50:11

标签: asp.net-web-api xamarin.forms portable-rest

我正在尝试将我的模型发布回我的mvc web api控制器,当它离开我的xamarin.forms方法时,我的结束日期就在那里。一旦我在web api控制器上点击断点,结束日期是默认的“01/01/0001”,并给我一个错误。我不确定如何跟踪它,看看问题出在哪里。我在xamarin方面遇到了断点,一切都是正确的。我从那里去到web api控制器,结束时间丢失了。我的开始时间日期仍然存在,我只是失去了一个日期,我不知道为什么。我已经尝试过Fiddler捕获发布的内容但是无法从xamarin.forms应用程序中看到它。是否有其他选择来捕捉这个?我错过了什么吗?下面是一些屏幕截图,显示了它们进入控制器之前的值,然后是控制器:

enter image description here enter image description here

以下是每一方的代码:

public async void OnSaveClicked()
    {
        var url = BaseUrl + "/classapi/ClassEdit?"; //+  classToEdit.ToString();
        //var client = new HttpClient() { BaseAddress = new Uri(url) };
        //client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json"));
        var client = new RestClient
        {
            BaseUrl = url
        };

        var request = new RestRequest("", HttpMethod.Post)
        {
            ContentType = ContentTypes.Json,
            ReturnRawString = true
        };
        request.AddParameter("class", classToEdit);


        var result = await client.ExecuteAsync<string>(request);


        classToEdit = JsonConvert.DeserializeObject<m_class>(result);

        if (classToEdit != null)
            DisplayAlert("Class Edit", "Class was successfully saved.", "OK");
    }

控制器:

 [ActionName("ClassEdit")]
    public int ClassEdit(t_class mobileClass)
    {
        mobileClass.color = "";
        if (ModelState.IsValid)
        {
            db.Entry(mobileClass).State = EntityState.Modified;
            db.SaveChanges();
            return 1;
        }
        else
        {
            return 0;
        }

    }

1 个答案:

答案 0 :(得分:0)

我意识到发生了什么......我的日期在我的MVC模型上被称为end_date,在我的移动模型上被称为end_time。它从网络到手机都很好,但是试图将它发送回API,它不喜欢名称差异。