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