InvalidOperationException:视图' ViewName'添加路线后未找到

时间:2017-08-28 14:41:13

标签: c# asp.net-core asp.net-core-mvc asp.net-core-routing

在为我的网络应用程序设置分页后,我决定更改网址,使其看起来更好。一切都运作良好,直到我决定添加一个路线,在我更改页面后给出了以下错误

  

" InvalidOperationException:视图'图书'没找到。该   搜索了以下位置:/Views/Shared/Books.cshtml"

路由

routes.MapRoute
(
     name: "pagination",
     template: "Books/Page/{page}",
     defaults: new {Controller = "Core", action = "Books"}
);

似乎没有任何拼写错误,而且我已经检查了三次控制器和视图处于正确的路径并且具有正确的方法。 这可能是什么问题?它没有在视图的正确文件夹中搜索

1 个答案:

答案 0 :(得分:2)

您可以选择page并重试吗? 如果Books动作方法中的页面为空,则可以在方法中抛出自定义错误。

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "pagination",
        template: "Books/Page/{page?}"
        defaults: new { controller = "Core", action = "Books"});
});

或使用属性路由。

public class CoreController : Controller
{
   [HttpGet("/Books/Page/{page?}")]
   public IActionResult Books(int? page) { ... }
}