asp.net中的app.UseMvc路由不存在

时间:2019-11-18 13:22:38

标签: asp.net asp.net-mvc asp.net-core

我正在学习asp.net,使用启动文件中的路由时遇到问题。 我需要更改网址以执行类似的操作

app.UseMvc(routes => {
routes.MapRoute(
name: "pagination",
template: "Products/Page{productPage}",
defaults: new { Controller = "Product", action = "List" });

但是它说模板参数不存在。我正在使用端点,那么如何使用端点呢?

我的实际代码如下

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Product}/{action=List}/{id?}");

    });

谢谢

1 个答案:

答案 0 :(得分:0)

我建议通过在行动本身上方声明路线来建议一种更简单的方法。

[Route("Products/Page/{productPage?}")]
public async Task<IActionResult> Products(string productPage) {
    return View();
}