首页 > 解决方案 > Asp.net Core 路由等效

问题描述

下午好,我在 ASP.Net Core 5 中有以下问题,我正在寻找与我在 .Net Framework 的 asp.net MVC 中制作的以下代码的等价物。

这是在路由中应用程序的 App.start 中配置的

        //Actualidad
        routes.MapRoute(
        name: "actualidad",
        url: "actualidad",
        defaults: new { controller = "seccion", action = "detalle", id = 2 });

在 .net Core 中使用以下格式:

            app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "historias",
                pattern: "{controller=Podcast}/{action=seccion}/{id=?}");

        });

但我找不到默认将值传递给 id 的方法。

标签: .netasp.net-coreroutes

解决方案


您可以在网络核心中使用相同的

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                name: "default",
              pattern: "{controller=Home}/{action=Index}/{id?}");

      endpoints.MapControllerRoute(
                  name: "historian",
                  pattern: "seccion/{id=2}",
                  defaults: new { controller = "Podcast", action = "Seccion" });

            });

它将从

public partial class PodcastController : Controller
{
   public IActionResult Seccion(int id)
    {
         // id will be 2

或者你可以试试这个网址

http://localhost:xxx/seccion

它将使用输入参数 id=2 进入 seccion 操作


推荐阅读