0

KeyValuePair 型を引数として使用する ASP.NET MVC コントローラー メソッドに JSON データを渡すことができるかどうか疑問に思っています。コントローラー メソッドのストッパー変数にブレークポイントがあります。デバッグすると、x と y の値は次のようになります。

x = 0

y = ヌル

JSON オブジェクトから keyValuePair 変数を正しく設定するにはどうすればよいですか?

<script type="text/javascript">
 $(document).ready(function () {
    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '@Url.Action("KeyValuePairTest", "Home")',
        data: JSON.stringify({
            keyValuePair: {
                Key: 1,
                Value: 'some text'
            }
        })
    });  
 });
</script>


using System.Collections.Generic;
using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public void KeyValuePairTest(KeyValuePair<int, string> keyValuePair)
        {
            var x = keyValuePair.Key;
            var y = keyValuePair.Value;
            var stopper = "stop";
        }
    }
}
4

1 に答える 1

0

カスタムのモデル バインダーを使用します。カスタム モデル バインダーを使用すると、コントローラー アクションにポストされた生データを読み取ることができるフォーム コレクションにアクセスできます。データを取得したら、キーと値のペアを含む任意のデータ構造にマップできます。次の投稿をご覧ください。

動的 .aspx ページ ASP.NET MVC 3 を使用してデータを ViewModel に永続化する

于 2013-03-05T09:22:15.550 に答える