我试图通过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。