我刚刚开始了一个新的MVC项目。我已成功添加了2个视图。我总是添加视图并更新家庭控制器以路由新视图...一切都很好,直到我添加了一个新视图并按常规进行,但无论我尝试什么,该视图都无法访问。调试模式:404' s。在发布模式下发布到IIS:404' s。它是我控制器中的最后一个ActionResult:StaleTickets。 Home Controller中的所有其他端点映射成功,我可以在发布前和发布后访问它们。有任何想法吗?赞赏。
HomeController中:
public ActionResult Index()
{
ViewBag.Title = "Dashboard";
return View();
}
public ActionResult Calendar()
{
ViewBag.Title = "Calendar";
return View();
}
public ActionResult Criticals()
{
ViewBag.Title = "Critical Tickets";
return View();
}
public ActionResult StaleTickets()
{
ViewBag.Title = "Stale Tickets";
return View();
}
StaleTickets.cshtml
@{
ViewBag.Title = "StaleTickets";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Hello, World!</h1>
RouteConfig(默认)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
文档结构
答案 0 :(得分:3)
根据上面的评论,我删除/重新创建了Visual Studio中的视图,并修复了该问题。我不知道为什么。
答案 1 :(得分:0)
我遇到了这个问题,并尝试了上述方法。直到那时,我才意识到自己拼错了控制器!有时最简单/最愚蠢的事情可能会被忽略...
答案 2 :(得分:0)
我的问题是另一个简单/愚蠢的错误,是我从另一个控制器复制过来的,所以我的命名空间不正确。