Fre*_*ood 3 c# asp.net-core-mvc asp.net-core asp.net-core-2.0
在最新的ASP.NET MVC CORE 2默认模板上,我试图通过修改控制器和操作来更改默认操作,如下所示.我希望看到登录页面为默认,但我有404 http错误.我做错了什么?
您可以在默认的ASP.NET CORE 2 MVC项目上验证此问题.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Account}/{action=Login}/{id?}");
});
}
Run Code Online (Sandbox Code Playgroud)
如果你看一下这个AccountController类,你会看到它用一个Route属性装饰,如下所示:
[Route("[controller]/[action]")]
public class AccountController : Controller
Run Code Online (Sandbox Code Playgroud)
但是,如果你看一下这个HomeController类,你会发现它没有用这样的属性装饰:
public class HomeController : Controller
Run Code Online (Sandbox Code Playgroud)
由于AccountController正在使用属性路由,因此不会使用常规路由模板来获取它.该文档解释这种相互排斥:
定义属性路由的动作不能通过传统路径到达,反之亦然.
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |