2012-04-27 12 views
4

私はシンプルなjavascript配列を持っています。このように宣言です:json入れ子配列のMVC3バインディング

coords = [] 

と毎回ユーザーが画像をクリックする、私はこのような何かを:

coords.push([x,y]) 

ので、私はこのようなもので終わる:(ジャバスクリプト内)

[[342,144],[477,99],[632,148],[529,162]] 

が、私は

List<List<int>>, int[][], int[,] 
を試してみた...コントローラメソッドでにバインドするかわかりません

どれも動作していないようです。それは私が文字列を使用するときだけ動作します。

これは、私はそれをサーバーに送信するために使用しているコードです:

$.ajax({ 
    type: "POST", 
    url: "/home/SaveCoords", 
    data: { coords: JSON.stringify(coords) } 
}).done(function (msg) { 
    alert("Data Saved: " + msg); 
}); 

そして、これは私は、コントローラ

[HttpPost] 
public ActionResult SaveCoords(string coords) 
{ 
    return Json("Hello", JsonRequestBehavior.AllowGet); 
} 

ヘルプに使うコードですか?

+0

あなたが<タプル>リストを試みたことがありますか? – brightgarden

答えて

6

リクエストコンテンツタイプをapplication/jsonに設定し、それに応じてdataを変更する必要があります。

これは実施例である:

$.ajax({ 
     type: "POST", 
     url: "/home/SaveCoords", 
     contentType : 'application/json', 
     data: JSON.stringify(coords) 
    }).done(function (msg) { 
     alert("Data Saved: " + msg); 
    }); 

とサーバ

public ActionResult SaveCoords(int[][] coords) 
    { 
     return View(); 
    } 
+0

はい、私が言ったように - それは動作例です – archil

+1

ちょうど確認しました。 upvoteをしてください。 –

+0

yup!できます!どうもありがとう! –

関連する問題