我创建了一个新的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错误而不是死亡的标准黄色屏幕,那么
奖励积分......
答案 0 :(得分:2)
问题解决了。
如果你打电话给控制器,事实证明APIController MVC完全不同地对待它。将它重命名为ABCController非常有用。
我不是在编写API,我正在编写一个管理API的网站!
唉,谢谢MVC!
答案 1 :(得分:0)
您可以检查您创建的控制器是继承ApiController
而不是标准Controller
吗?
这也可以解释为什么以XML格式返回错误消息。