ASP.NETWEBAPIとjquery日時を使用しています。
私の問題は、ユーザーが「dd / MM/yyyy」の形式でdatepickerを使用して日付を選択できるようにすることです。しかし、(ここで行うように)datepickerを構成すると、WebAPIコントローラーのアクションに投稿された日付は「01/01/000100:00:00」になります。そして、日付ピッカーから「d / M / yy」のフォーマッターを削除した瞬間、適切な値を受け取ることができますが、ユーザーにはMM / dd/yyyyで選択された日付が表示されます。
以下に示すように、web.configでカルチャを「en-GB」として設定しました...
<system.web>
<globalization culture="en-GB" uiCulture="en-GB"/>
</system.web>
それでもこれは役に立ちません。
誰かが試してみたい場合は、このシナリオを再作成し、プロジェクトをここにアップロードしました。
私のweb-apiコントローラーは次のようになります
public class ValuesController : ApiController
{
// POST api/values
public void Post(ResponseModel model)
{
string culture = CultureInfo.CurrentCulture.DisplayName;
if (model != null)
{
string name = model.Name;
DateTime startDate = model.StartDate;
DateTime endDate = model.StartDate;
}
}
}
そして私の見解は下にあります
$(document).ready(function () {
$("#startDate").datepicker({});
$("#endDate").datepicker({});
// $("#startDate").datepicker({ dateFormat: "dd/m/yy" });
// $("#endDate").datepicker({ dateFormat: "dd/m/yy" });
$("#submitBtn").bind("click", function () {
var postData = {
name: $("#fullName").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
};
var jsonData = JSON.stringify(postData);
console.log(jsonData);
$.ajax({
url: 'api/values/',
type: 'POST',
data: jsonData,
contentType: "application/json;charset=utf-8",
success: function (data) {
}
});
});
});
</script>
<div>
<p>
<b>Name : </b> <input type="text" id="fullName" />
</p>
<p>
<b>Start Date : </b> <input type="text" id="startDate" />
</p>
<p>
<b>End Date : </b> <input type="text" id="endDate" />
</p>
<input type="submit" value="Submit these values" id="submitBtn"/>
</div>
誰かがこれについて私を助けてください。
だから最終的に私が欲しいのは
- ユーザーは「dd/MM/yyyy」形式で日付を選択できる必要があります
- 日付は同じ形式でコントローラーに到達する必要があります。
ありがとう