gpt4 book ai didi

c# - asp.net core2 路由问题

转载 作者:行者123 更新时间:2023-11-30 15:55:49 25 4
gpt4 key购买 nike

我正在使用 .net core2 进行测试,并且在我的 StatrtUpconfigure 方法中有以下 routes:

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?}");
});

代码来自Pro ASP.NET Core MVC 第六版第8章,本书针对Asp.net Core1。

Url http://localhost:65000/ 很好用,但是 http://localhost:65000/Products/Page2 不工作。

url http://localhost:65000/ 正在调用 ProductControllerList 操作,但是 http://localhost:65000/Products/Page2 给我这个异常(exception):

InvalidOperationException:未找到 View “列表”。搜索了以下位置:
/Views/Shared/List.cshtml

显然,不会在 /Views/Product/ 文件夹中搜索 List。我的路线有什么问题?我正在使用的新项目模板是 Web Application(Model-View-Controller) with Authentication : Individula User Accounts

编辑

添加了 Controller 代码,这只是我之前提到的书中的示例代码。

public class ProductController : Controller {

private IProductRepository repository;
int PageSize = 4;

public ProductController(IProductRepository repo) {
repository = repo;
}


public ViewResult List(int page = 1) => View(
new ProductsListViewModel {
Products = repository.Products
.OrderBy(x => x.Name)
.Skip(PageSize * (page - 1))
.Take(PageSize),
PagingInfo = new PagingInfo {
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = repository.Products.Count()
}
}
);
}

最佳答案

我找到了解决方案。问题是 Microsoft.AspNetCore.All 2.0.1 中的错误并将其更新到 2.0.3 修复了错误。它与 asp.net core 2 中新的 Razor Pages 功能和在路由模板中使用页面有关。

查看此链接以获得更多分辨率 GitHub aspnet/Mvc Issue 6660

关于c# - asp.net core2 路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com