简单的MVC路由不起作用

时间:2013-11-11 16:35:23

标签: asp.net-mvc

我创建了一个新的MVC项目。我创建了一个名为APIController的空控制器:

public class APIController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Test()
    {
        return View();
    }
}

我创建了相应的视图,除了'index'和'test'之外,它们都是空的。

当我转到myurl.com/Account时,它可以正常工作

当我转到myurl.com/Account/Test时,我收到xml错误说:

  

未找到与请求URI [...]

匹配的HTTP资源      

未找到与名为“帐户”的控制器匹配的类型。

这必须是noob错误。项目中的其他所有内容都是默认的。 RegisterRoutes方法是默认方法:

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

我错过了什么愚蠢的事情?

如果您可以解释为什么错误是XML错误而不是死亡的标准黄色屏幕,那么

奖励积分......

2 个答案:

答案 0 :(得分:2)

问题解决了。

如果你打电话给控制器,事实证明APIController MVC完全不同地对待它。将它重命名为ABCController非常有用。

我不是在编写API,我正在编写一个管理API的网站!

唉,谢谢MVC!

答案 1 :(得分:0)

您可以检查您创建的控制器是继承ApiController而不是标准Controller吗?

这也可以解释为什么以XML格式返回错误消息。