私のコントローラ(.NET CORE MVC App)には、クライアントからデータが送信されたときにキャプチャする必要がある2つ以上の複雑なパラメータが必要です。状況に応じて、HTTP.GETまたはHTTP.POSTメソッドを使用して呼び出しを行いたいと思います。私はさまざまなアプローチを試しましたが、JObjectとのバインディングだけがうまくいきます。他のものはヌル値を持ちます。.Net Core複数の複合モデルのバインディングの問題
私は何が間違っているのかを知りたいと思っています。助言がありますか?
ここは私のコードです。
コントローラー:
[HttpPost]
public IActionResult GetDataPOST([FromBody]DataFilter dataFilter, [FromBody]SeriesFilter seriesFilter)
{
return Json(null);
}
[HttpPost]
public IActionResult GetDataPOSTjObject([FromBody]JObject stuff)
{
var content = stuff["dataFilter"].ToObject<DataFilter>();
var content2 = stuff["seriesFilter"].ToObject<SeriesFilter>();
return Json(null);
}
[HttpGet]
public IActionResult GetDataGET(DataFilter dataFilter, SeriesFilter seriesFilter)
{
return Json(null);
}
モデル:
public class DataFilter
{
public string search { get; set; }
}
public class SeriesFilter
{
public string search { get; set; }
}
角度:
$scope.SubmitTimeSeriesFilter = function (options) {
options.search = "Search...";
$http.get("@Url.Action("GetDataGET", "TimeSeries")", { params: { seriesFilter: options, dataFilter: options } }).success(function (rv) {
options.success(rv);
});
$http.post("@Url.Action("GetDataPOST", "TimeSeries")", { seriesFilter: options, dataFilter: options }).success(function (rv) {
options.success(rv);
});
$http.post("@Url.Action("GetDataPOSTjObject", "TimeSeries")", { seriesFilter: options, dataFilter: options }).success(function (rv) {
options.success(rv);
});
};