将JSON对象传递给ASP.使用键值参数的.NET MVC控制器方法

本文关键字:参数 键值 NET MVC 方法 控制器 对象 JSON ASP | 更新日期: 2023-09-27 18:02:28

我想知道是否有可能将JSON数据传递到ASP。使用KeyValuePair类型作为参数的。NET MVC控制器方法。我在控制器方法中的stopper变量上有一个断点。在调试时,x和y的值如下:

x = 0

y = null

我怎么能得到keyValuePair变量从JSON对象正确填充?

<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";
        }
    }
}

将JSON对象传递给ASP.使用键值参数的.NET MVC控制器方法

使用自定义模型绑定器。当您使用自定义模型绑定器时,您将能够访问表单集合,在那里您将能够读取提交给控制器动作的原始数据。一旦有了数据,就可以将其映射到任何数据结构,包括键值对。请看下面的文章

使用动态.aspx页面将数据持久化回ViewModel。. NET MVC 3