在发布请求中发送日期时间

时间:2018-05-19 17:28:57

标签: c# datetime asp.net-web-api dotnet-httpclient

您好我有C#(Xamarin)应用和.net API。如何将DateTime发布到我的.Net API?

.Net API

目前我有:

        var formContent = new FormUrlEncodedContent(new[]
        {
            new KeyValuePair<string, string>("Email", u.Email),
            new KeyValuePair<string, string>("Password", u.Password),
            new KeyValuePair<string, string>("ConfirmPassword", u.ConfirmPassword),
            new KeyValuePair<string, string>("Gender", u.Gender),
            new KeyValuePair<string, string>("DateOfBirth", u.DateOfBirth)
        });


        HttpResponseMessage response = await client.PostAsync("/api/Account/Register", formContent);

字符串都可以正常工作,但是我无法找出DateTime。我猜对了:

       KeyValuePair<string, DateTime>("DateOfBirth", u.DateOfBirth)

但这不起作用。如果我将DateTime转换为字符串,服务器上的日期就会以01/01/1900的形式出现,这也不对。

2 个答案:

答案 0 :(得分:0)

如何发送滴答声?

DataTime转换为刻度并发送它们:

var ticks = DateTime.UtcNow.Ticks;

答案 1 :(得分:0)

我实际上最终序列化了具有我想要发布的所有属性的对象,这似乎有效。

string postBody = JsonConvert.SerializeObject(u);

HttpResponseMessage response = await client.PostAsync("/api/Account/Register", new StringContent(postBody, Encoding.UTF8, "application/json"));