asp.net mvc预期的控制器和操作未被调用

asp.net mvc预期的控制器和操作未被调用,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有个奇怪的问题。我使用“LoadMyPageController”加载了一个页面,并且有一个ajax_submit_按钮1可用于提交页面 另外还有一个ajax_submit_按钮2用于打印页面。此按钮将页面的视图模型作为一个整体提交给具有“PrintData”操作的“PrintController” 现在,当我点击“ajax\u submit\u button2”时,我的PrintController.PrintData不会被调用。相反,当我检查我的小提琴工具时,请求是按 这是一个无效的UR

我有个奇怪的问题。我使用“LoadMyPageController”加载了一个页面,并且有一个ajax_submit_按钮1可用于提交页面

另外还有一个ajax_submit_按钮2用于打印页面。此按钮将页面的视图模型作为一个整体提交给具有“PrintData”操作的“PrintController”

现在,当我点击“ajax\u submit\u button2”时,我的PrintController.PrintData不会被调用。相反,当我检查我的小提琴工具时,请求是按

这是一个无效的URL

我已经构建了我的ajax\u submit\u按钮2,它应该调用

但我不知道为什么LoadMyPage控制器出现在我的URL中

如有任何想法或意见,将不胜感激。如果asp.NETMVC由于任何原因找不到控制器操作,它是否会自行选择默认控制器


代码是一种紧密耦合的,因此无法发布。我想知道是否有人遇到过这样的问题。

这与服务器上的路由无关,因为客户端发出的请求中包含错误的控制器。我怀疑您为submit按钮生成url的代码是不正确的——也就是说,没有指定要使用的控制器——或者您在submit按钮周围有一个表单,该表单实际上被调用,而不是(或者除了)ajax代码。请注意,如果您的提交处理程序没有返回false,则将调用默认表单操作并正常提交表单。如果您确实有表单,请确保表单上的url正确,并且提交处理程序返回false

   $('#printForm').submit( function() {
        $.ajax({
            url: $(this).attr('action'),
            ...
        });
        return false; // this is important!
   });

可能只是发布代码中用于构建ajax打印操作的URL的部分。您至少可以描述一下将ajax\u submit\u按钮2重定向到其他控制器/操作的方法吗?这是通过MVC中Html名称空间中的某个内容实现的,还是直接使用javascript实现的?无论您在做什么,生成表单重定向的代码都有问题。@Ryan-正如您所说,这是个问题。我纠正了它。谢谢