c# - 无效操作异常 : The view 'ViewName' was not found after adding route

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

为我的网络应用程序设置分页后,我决定更改网址,使其看起来更好。一切都很完美,直到我决定添加一条路线,在更改页面后出现以下错误

"InvalidOperationException: The view 'Books' was not found. The following locations were searched: /Views/Shared/Books.cshtml"

以及路由

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

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

最佳答案

您可以将 page 设置为可选并重试吗? 如果 Books 操作方法中的页面为 null,则您可以在该方法中引发自定义错误。

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) { ... }
}

关于c# - 无效操作异常 : The view 'ViewName' was not found after adding route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45921628/

相关文章:

C#如何将不同按钮的按钮文本设置到同一个文本框

c# - 提高MMO游戏性能

c# - C# 和 Java 应该合并彼此的语法吗?

c# - Azure 上的 Asp .NET Core 遇到 502 Web 服务器在充当网关或代理服务器时收到无效响应

c# - 在 C# 中使用 SSH 在 Unix 服务器上运行自定义脚本

nginx - asp net core 3 在发布后获取带有正文内容的 POST 操作的 BadRequest 响应

c# - 如何在我的集成测试中使用 IConfiguration?

asp.net - 如何在 asp.net mvc 中的 url 中添加页面标题?

asp.net-core - ASPNetCore MVC 路由让服务器处理特定路由

asp.net - 获取 ASP.NET 中 Azure AD 应用程序注册的所有 appRoles