我想知道是否有可能将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";
}
}
}
使用自定义模型绑定器。当您使用自定义模型绑定器时,您将能够访问表单集合,在那里您将能够读取提交给控制器动作的原始数据。一旦有了数据,就可以将其映射到任何数据结构,包括键值对。请看下面的文章
使用动态.aspx页面将数据持久化回ViewModel。. NET MVC 3