2013年5月18日土曜日

ASP.NET MVC JSON データをコントローラーアクションに渡す

ASP.NET MVC で View(クライアント側)にある JSON データをコントローラーに渡す実装例です。
もっと簡潔な実装方法があると思いますが、動いたのでメモしておきます。

View
<script type="text/javascript">
<!--
    $(document).ready(function () {
        $("#button1").click(function () {

            var data = [
             { "name": "こぶた", "age": 3 },
             { "name": "たぬき", "age": 7 },
             { "name": "きつね", "age": 5 }
            ];

            var URL = "/Home/AnimalAction?animals=" + JSON.stringify(data);

            $.ajax({
                type: "POST",
                dataType: "json",
                url: URL,
            });
        });
    });
// -->
</script>

<input class="button" id="button1" type="button" value="JSON をコントローラーに渡す" />

コントローラー
public class HomeController : Controller
{

    ...

    public ActionResult AnimalAction(string animals)
    {
        // 引数 animals は JSON データ
        return View();
    }
}

今回は JSON をアクションへ渡すところまでの実装です。コントローラーで JSON データを扱うのはまた別の機会に(^_^;)

0 件のコメント:

コメントを投稿