一个新的MVC视图,每次404,即使有适当的控制器

时间:2015-01-20 17:06:57

标签: c# asp.net-mvc visual-studio-2013

我刚刚开始了一个新的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 }
        );
    }

文档结构

Document Structure

3 个答案:

答案 0 :(得分:3)

根据上面的评论,我删除/重新创建了Visual Studio中的视图,并修复了该问题。我不知道为什么。

答案 1 :(得分:0)

我遇到了这个问题,并尝试了上述方法。直到那时,我才意识到自己拼错了控制器!有时最简单/最愚蠢的事情可能会被忽略...

答案 2 :(得分:0)

我的问题是另一个简单/愚蠢的错误,是我从另一个控制器复制过来的,所以我的命名空间不正确。