发送不正确的控制器方法?

时间:2017-10-17 14:00:48

标签: javascript jquery ajax asp.net-mvc post

我试图通过jQuery发布到mvc控制器。 有一个HomeController和一个OrdersController。调用post时,将调用Orders / LoadFromSearch操作方法,但在最终返回Orders视图之前调用Home / Orders方法。我想简单地从Orders / LoadFromSearch返回Orders视图。我错过了什么?我为什么要打家用控制器?

jQuery帖子

 $.post('/Orders/LoadFromSearch', p)
            .done(function (response, status, jqxhr) {
                //do stuff
        })
        .fail(function (jqxhr, status, error) {
            alert('oops cant load view');
        })

路线设置如下:

   public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("favicon.ico");

        routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Listing", id = UrlParameter.Optional }
        );         
    }

MVC订购LoadFromSearch

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LoadFromSearch(string chNo)
{
    ViewBag.SearchNum = chNo;
    return View("Orders");
}       

主页/订单

public ActionResult Orders() {
    return View;
}

[更新]
单击kendo网格中的链接时会触发jquery帖子。另外,视图使用布局模板,我开始逐步完成这个模板。在单步执行_Layout模板的过程中,将使用Orders操作调用HomeController。

0 个答案:

没有答案