Asp.net mvc 4 无法在asp.net mvc4中使用dojo.xhrPost()将数据发布为Json

Asp.net mvc 4 无法在asp.net mvc4中使用dojo.xhrPost()将数据发布为Json,asp.net-mvc-4,dojo,Asp.net Mvc 4,Dojo,我正在使用dojo 1.8.3和asp.net mvc。我有一个问题。我试图将一个表单中的数据发布为JSON(我有一个特定的理由将其发布为JSON而不是JSON)。因此,当我发布时,我在控制器端得到一个空字符串。下面是我的javascript代码 var xhrArgs = { url: rootPath + "Home/CreateNewPattern/", postData: dojo.toJson({ Name: "name1", TimeSpan: "10"

我正在使用dojo 1.8.3和asp.net mvc。我有一个问题。我试图将一个表单中的数据发布为JSON(我有一个特定的理由将其发布为JSON而不是JSON)。因此,当我发布时,我在控制器端得到一个空字符串。下面是我的javascript代码

   var xhrArgs = { url: rootPath + "Home/CreateNewPattern/",
            postData: dojo.toJson({ Name: "name1", TimeSpan: "10" }),
            handleAs: "text",
            headers: { "Content-Type": "application/json", "Accept": "application/json" },
            load: function (data) {
                console.log("Create pattern form posted");
            },
            error: function (error) {
                // We'll 404 in the demo, but that's okay.  We don't have a 'postIt' service on the
                // docs server.
                alert("Error during Form posting");
            }
        }

        // Call the asynchronous xhrGet
        var deferred = dojo.xhrPost(xhrArgs);
我在控制器内的动作方法是

 [HttpPost]
        public ActionResult CreateNewPattern(string newPattern)
        {
            Trace.WriteLine("Name of the pattern is " + newPattern);

            return RedirectToAction("DisplayPatternManagement");
        }

有人能告诉我我做错了什么吗?

您正在发布
Name
TimeSpan
属性,但您的操作只接受一个名为
newPattern
的属性


这显然行不通。

嗨,SLaks,谢谢你的即时回复。但是你能告诉我如何处理一个复杂的对象吗。我是否需要和我的对象属性一样多的字符串参数。@Sajan:否;您可以使您的操作采用具有可写属性的类。从JSON到.net的序列化将自动进行。我听说这将发生在JQuery中。有人能给我一个工作吗example@Sajan当前位置我从未使用过Dojo。检查他们的文档。@SLaks,“检查他们的文档”?对不起,这个答案很差。如果你从未做过dojo,为什么要回答dojo问题?