C#MVC3 - “无法找到资源”

时间:2012-01-03 08:12:52

标签: c# asp.net-mvc-3 asp.net-mvc-routing

我正在尝试为我的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
        );

如果您需要更多信息,请不要犹豫。谢谢!

2 个答案:

答案 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。