基本的にバウンディングボックスの配列(と呼ばれるbounds
)であるJavaScript変数があります。各配列要素は次の形式です。
{
XHigh: -71.00742992911023,
XLow: -71.00670274612378,
YHigh: 42.09467040703646,
YLow: 42.09458047487587
}
そして、POST経由でアクションメソッドに送信しようとしています:
$.ajax({
url: '/Map/GetLocations',
type: 'POST',
data: { boxes: bounds },
success: function(data) {
// doing something with the result
}
});
サーバーでは、データを次のようにアクション メソッドに取り込みます。
[HttpPost]
public ActionResult GetLocations(IList<BoundingBox> boxes)
{
// do something with boxes and return some json
}
DTO クラスは次のように定義されています。
public class BoundingBox
{
public decimal XHigh { get; set; }
public decimal XLow { get; set; }
public decimal YHigh { get; set; }
public decimal YLow { get; set; }
}
アクション メソッド内のboxes
値には、POST で送信した正しい数の要素が含まれています。ただし、10 進数値はすべて 0 ですdouble
。DTO でそれらを s に変更しようとしましたが、まだ 0.0 です。それらをstring
s に変更しようとしましたが、それらは空でした。
これらの値を入力する方法について、モデル バインディングで何か不足していますか? このオブジェクトの配列をアクション メソッドに送信するにはどうすればよいですか?