0

ASP.NET MVC3 アプリケーションでモーダル ポップアップを開き、いくつかのパラメーターを渡そうとしています。
ポップアップには、というファイルで定義されたビューが含まれているSearchArea.cshtml

ので、ここに私が書いたものがあります:

私の見解 :

var coordinates = [];

//push some data in coordinates
//coordinates looks like : coordinates[0] = 45.25489, coordinates[1] = 5.14975, etc...

$("<div></div>")
    .addClass("dialog")
    .appendTo("body")
    .dialog({
        title: "TEST",  
        close: function () { $(this).remove(); },  
        modal: true,  
        height: 400,  
        width: 600,  
        left: 0
   }).load('@Url.Action("Show", "SearchArea")', {'coordinates' : JSON.stringify(coordinates) });

私のコントローラー

public ActionResult Show(string coordinates)
{
    List<Single> searchArea = JsonConvert.DeserializeObject<List<Single>>(coordinates);
    return View(searchArea);
}

しかし、これは私が得るものです:

popupモーダル

ステップ・バイ・ステップでデバッグすると、searchArea良い値が得られるので、シリアライズ/デシリアライズは問題ないと思います。ロードするはずのビューもOKなので、表示してみましたがエラーにはなりません。

どこが間違っていますか?私はこれこれ、および他の多くを見てきましたが、間違いを修正することはできません... 誰か助けてくれますか?

4

1 に答える 1

0

昨日やっと解決策が見つかりました。

配列を文字列化する代わりに、文字列化しましたcoordinates.Join(',')。これは機能しますが、これは醜いです。そのため、必要なすべてのフィールドを含むモデルを作成し、それをビューに渡します。それはうまくいくはずです、ダミーの値で試してみましたが、うまくいくようです

于 2013-10-24T11:18:04.523 に答える