Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc 如果视图是从不同的控制器创建的,是否可以从控制器调用方法?_Asp.net Mvc_Ajax_Jquery_Controllers - Fatal编程技术网

Asp.net mvc 如果视图是从不同的控制器创建的,是否可以从控制器调用方法?

Asp.net mvc 如果视图是从不同的控制器创建的,是否可以从控制器调用方法?,asp.net-mvc,ajax,jquery,controllers,Asp.net Mvc,Ajax,Jquery,Controllers,假设我从返回view Index.aspx的HomeController调用了Index(),那么Index.aspx上javascript中的jquery ajax能否调用另一个控制器(ExternalController)中的方法 没有错误,页面是从HomeController呈现的 $.ajax({ type: "POST", url: "/Row/getRowName", dataType: "json",

假设我从返回view Index.aspx的HomeController调用了Index(),那么Index.aspx上javascript中的jquery ajax能否调用另一个控制器(ExternalController)中的方法

没有错误,页面是从HomeController呈现的

$.ajax({
            type: "POST",
            url: "/Row/getRowName",
            dataType: "json",
            data:({ currRow : centerPost[0], offset : ((-1 * Math.ceil(numRows / 2)) + 1) }),
            error:function(request){alert(request.statusText)},
            success:function(result){alert(result)}
        }).responseText;
给了我一个内部服务器错误


只是想知道这是否可能是因为我调用的控制器与从中呈现视图的控制器不同。调用与呈现当前视图的控制器不同的控制器不会导致任何类型的错误。控制器只是一组常见命令的处理程序。这些命令是由浏览器的地址栏、超链接还是jqueryajax调用发出并不重要。所有三个都使用相同的协议向控制器发出命令

我的猜测是,您的代码中存在导致内部服务器错误的错误。您是否尝试过直接在浏览器中转到/Row/getRowName以查看发生了什么?它与GET和POST、only POST、only GET一起工作吗?也许你是在只支持GET的情况下发布帖子的?我需要更多的信息才能进一步帮助你

$.ajax({
            type: "POST",
            url: "/Row/getRowName",
            dataType: "json",
            data:({ currRow : centerPost[0], offset : ((-1 * Math.ceil(numRows / 2)) + 1) }),
            error:function(request){alert(request.statusText)},
            success:function(result){alert(result)}
        }).responseText;