一个新的 MVC 视图,每次都是 404,即使有合适的控制器
A new MVC view, 404's every time, Even with the proper controller
我刚刚开始了一个新的 MVC 项目。我已经成功添加了 2 个视图。我总是添加视图并更新主控制器以路由新视图...一切都很好,直到我添加了一个新视图并执行了通常的操作,但是无论我尝试什么,该视图都无法访问。调试模式:404。以发布模式发布到 IIS:404。这是我控制器中的最后一个 ActionResult:StaleTickets。 Home Controller 中的所有其他端点映射成功,我可以在 post-publish 之前访问它们。有任何想法吗?赞赏。
家庭控制器:
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>
路由配置(默认)
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 }
);
}
文档结构
根据上面的评论,我 deleted/recreated Visual Studio 中的视图解决了问题。我不确定为什么。
我遇到了这个问题并尝试了上面的方法。直到那时我才意识到我拼错了我的控制器!有时 simplest/silliest 事情可能会被忽视...
我的问题是另一个 simple/silly 错误,是我从另一个控制器复制的,所以我的命名空间不正确。
我刚刚开始了一个新的 MVC 项目。我已经成功添加了 2 个视图。我总是添加视图并更新主控制器以路由新视图...一切都很好,直到我添加了一个新视图并执行了通常的操作,但是无论我尝试什么,该视图都无法访问。调试模式:404。以发布模式发布到 IIS:404。这是我控制器中的最后一个 ActionResult:StaleTickets。 Home Controller 中的所有其他端点映射成功,我可以在 post-publish 之前访问它们。有任何想法吗?赞赏。
家庭控制器:
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>
路由配置(默认)
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 }
);
}
文档结构
根据上面的评论,我 deleted/recreated Visual Studio 中的视图解决了问题。我不确定为什么。
我遇到了这个问题并尝试了上面的方法。直到那时我才意识到我拼错了我的控制器!有时 simplest/silliest 事情可能会被忽视...
我的问题是另一个 simple/silly 错误,是我从另一个控制器复制的,所以我的命名空间不正确。