【发布时间】:2016-04-29 12:13:53
【问题描述】:
我在 MVC 6 Web 应用程序中遇到路由问题:当我在默认使用的控制器中设置路由参数时,应用程序发送 404 错误。
我的路由配置:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Dashboard}/{action=Index}/{id?}");
});
我的仪表板控制器(应用程序有效):
[Authorize]
public class DashboardController : Controller
{
public DashboardController()
{ }
[HttpGet]
public IActionResult Index() => View(new IndexViewModel());
}
相同的仪表板控制器(应用程序响应 404 错误):
[Authorize]
[Route("[controller]")]
public class DashboardController : Controller
{
public DashboardController()
{ }
[HttpGet]
[Route("[action]")]
public IActionResult Index() => View(new IndexViewModel());
}
【问题讨论】:
-
你使用什么 url 返回 404?
-
启动应用时的默认url,localhost:PORT_NUMBER
-
@Adrien:请不要使用 asp.net-mvc 和 asp.net-mvc6 标签。前者用于旧的 ASP.NET MVC 框架,后者是错误的,因为 ASP.NET Core MVC 将其版本重置为 1.0.0
-
@Tseng 好的,注意到了
标签: asp.net-mvc-routing asp.net-core-mvc asp.net-core-1.0