我正在尝试为我的Ajax处理程序创建另一个控制器 - 所以现在我有一个AppController(站点控制器)和一个AjaxController(Ajax请求处理程序)。
问题是,当我访问http://LocalHost:82/Ajax时,我得到The resource cannot be found
。当我访问http://LocalHost:82/Ajax/Index时,它可以正常工作。
问题是默认路由,对吧?这是我的路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "App", action = "NewRequests", id = UrlParameter.Optional } // Parameter defaults
);
如果您需要更多信息,请不要犹豫。谢谢!
答案 0 :(得分:3)
您的路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "App", action = "NewRequests", id = UrlParameter.Optional } // Parameter defaults
);
声明默认操作是NewRequests,因此期望您的AjaxController具有[HttpGet] NewRequests操作。你可以这样做,
[HttpGet]
public ActionResult NewRequests()
{
// ...
}
或
[HttpGet, ActionName("NewRequests")]
public ActionResult WhatEverNameOfActionYouLike()
{
// ...
}
答案 1 :(得分:2)
是否有一个NewRequests方法在Ajax控制器中返回ActionResult?如果没有,这是有道理的,因为您的默认操作是NewRequests。