【发布时间】:2012-05-28 16:22:05
【问题描述】:
有很多关于 MVC 模型绑定的有用信息。 我的问题源于我试图避免在我的 MVC 应用程序中创建强类型数据,因为它主要需要充当数据路由器。
基本上,我在一个页面上有一组字段,带有一个“输入”类,我可以用jQuery('.input') 收集这些字段,迭代并填充到一个 javascript 对象中。然后我将它发送到我的 ASP.NET MVC 控制器:
var inputData = my_serialize( $('input');
$.ajax({
type:'POST',
url: '/acme/Ajax/CaptureInput',
dataType: "json",
data: { inputData: JSON.stringify(inputData) },
success: Page_Response_RegisterAndDeposit,
error: Page_AjaxError
});
在 C# 方面,我有
public JsonResult CaptureInput(string inputDataAsJsonString)
{
JavaScriptSerializer JSON = new JavaScriptSerializer();
object inputData = JSON.DeserializeObject(inputDataAsJsonString);
这似乎是一种浪费的间接级别,我更愿意将数据作为 contentType:application/json 传递,并让 CaptureInput 接受 object 或 IDictionary 甚至 dynamic。
【问题讨论】:
-
为什么要以 JSON 格式发送?
-
因为我最终想使用相同的代码来发送更多结构化数据,包含递归定义的 js 对象。 JSON 似乎比名称-值对更合适。
标签: c# asp.net-mvc json