我正在使用.net core2进行测试,并在routes
的{{1}}方法中使用StatrtUp
:
configure
代码来自app.UseMvc(routes => {
routes.MapRoute(
name: "pagination",
template: "Products/Page{page}",
defaults: new { controller = "Product", action = "List" });
routes.MapRoute(
name: "default",
template: "{controller=Product}/{action=List}/{id?}");
});
第8章,本书适用于Asp.net Core1。
网址Pro ASP.NET Core MVC 6th Edition
效果很好,但http://localhost:65000/
不起作用。
网址http://localhost:65000/Products/Page2
正在调用http://localhost:65000/
的{{1}}操作,但ProductController
给了我这个例外:
List
显然,http://localhost:65000/Products/Page2
文件夹未搜索InvalidOperationException: The view 'List' was not found. The following locations were searched:
/Views/Shared/List.cshtml
。我的路线有什么问题?我正在使用的新项目的模板是/Views/Product/
,其中包含身份验证:List
修改
添加了控制器代码,这只是我之前提到的书中的示例代码。
Web Application(Model-View-Controller)
答案 0 :(得分:3)
我创立了解决方案。
问题是Microsoft.AspNetCore.All
2.0.1
中的错误,并将其更新为2.0.3
修复了错误。它与asp.net core 2中的新Razor Pages
功能相关,并在路由模板中使用Page
。
请参阅此链接以获取更多解决方案GitHub aspnet/Mvc Issue 6660