Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么MVC3不绑定这个(JSON)_Jquery_Vb.net_Json_Asp.net Mvc 3 - Fatal编程技术网

Jquery 为什么MVC3不绑定这个(JSON)

Jquery 为什么MVC3不绑定这个(JSON),jquery,vb.net,json,asp.net-mvc-3,Jquery,Vb.net,Json,Asp.net Mvc 3,我是MVC和modelbinding的新手,所以我猜我犯了一些琐碎的错误,我尝试绑定一些数据 观点 $.ajax({ url: '@Url.Action("Moo")', type: "post", dataType: "string", contentType: "application/json", data: JSON.stringify({"test": "ba

我是MVC和modelbinding的新手,所以我猜我犯了一些琐碎的错误,我尝试绑定一些数据

观点

    $.ajax({
            url: '@Url.Action("Moo")',
            type: "post",
            dataType: "string",
            contentType: "application/json",
            data: JSON.stringify({"test": "bar", "test2": "bar2"}),
            success: function (data) {}       
    });
模型

Public Class MyTestData

     Public Property test() As String
     Public Property test2() As String

End Class
控制器

Function Moo(test As MyTestData) As ActionResult

    Return View()
End Function
当我在控制器中运行dubugger时,我从测试中接收到“nothing”,如果我只使用一个字符串,代码就会工作(视图中的数据更改为{(test:bar)},控制器数据类型更改为从MytestData到string)


任何输入都是正确的

重命名动作参数。它被称为
test
,与内部的
test
属性冲突:

Function Moo(model As MyTestData) As ActionResult
    Return View()
End Function
我猜你的测试太多了:-)
FooBar
似乎是个更好的名字:-)

除此之外,
数据类型
参数也有问题。没有
string
这样的值。使用ASP.NET MVC,您通常不需要提供它,因为框架正确地设置了HTTP内容类型响应头,jQuery将使用它来自动解析结果。因此,只需去掉它,或者确保已将其指定为与实际返回类型匹配的正确值。由于您的操作返回一个视图,您可以将其设置为
数据类型:“html”
,以便保持一致