Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
在JavaScript和C#控制器之间传递数据:Asp.NETMVC4_C#_Javascript_Asp.net Mvc 4_Razor - Fatal编程技术网

在JavaScript和C#控制器之间传递数据:Asp.NETMVC4

在JavaScript和C#控制器之间传递数据:Asp.NETMVC4,c#,javascript,asp.net-mvc-4,razor,C#,Javascript,Asp.net Mvc 4,Razor,我想在视图和控制器之间传递数据。我做错了什么,因为它不起作用 JavaScript前端代码: $.ajax({ url: '@Url.Action("GetOid","SearchPerson")', data: {oid : 1}, type: 'POST', contentType: 'application/json; charset=utf-8', success: function (data) { // return valu

我想在视图和控制器之间传递数据。我做错了什么,因为它不起作用

JavaScript前端代码:

$.ajax({
    url: '@Url.Action("GetOid","SearchPerson")',
    data:  {oid : 1},
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    success: function (data) {
        // return values 
        console.log("Success!" + data.oid); 
    },
    error: function () { console.log('error!!'); }
});
C#控制器代码:

    int CustomerId=0;

    [HttpPost]
    public ActionResult GetOid(int Oid)
    {

        // some code here to assign the value to a global var.
        CustomerId = Oid;

        ViewBag.id = Oid;


        return Json(new { oid = CustomerId });
    }

    });

Javascript对您在服务器上设置的变量一无所知。您需要向客户端返回json,如下所示:

 return Json(new { oid = CustomerId });
使用


要正确设置响应标题

这让许多新手感到困惑

console.log("Success!" + **data.Data.oid**);

您应该学习浏览器端的fire debugger,并在“监视窗口”中查看您关心的问题。

对ajax数据属性进行此更改。它需要作为字符串传递

data: JSON.stringify({ "Oid": 1 }),
此外,控制器参数和数据参数也需要相同。这些文件区分大小写

public ActionResult GetOid(int Oid)
如前所述,以json格式返回它

return Json(new { oid = CustomerId });

我用firebug,但我用chrome和ie进行测试。是的,我是新手。非常感谢@我不感谢你@内森·安德森
return Json(new { oid = CustomerId });