亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.Net Core MVC 中是否有類似 RouteConfig.cs 的東西?

.Net Core MVC 中是否有類似 RouteConfig.cs 的東西?

C#
幕布斯6054654 2023-05-14 16:43:47
我正在嘗試遵循 Adam Freeman 的書“ASP .NET MVC”。在這本書中有一章作者建議將路由放入特殊配置文件App_Start/RouteConfig.cs。它看起來不錯,但我正在嘗試在 .Net Core 的幫助下實現它。我沒有找到路線的特殊位置,所以我將路線放入Startup.cs. 但它看起來非常丑陋。也許有人知道這種情況的優雅解決方案?這是我的代碼Startup.cspublic class Startup{    public Startup(IConfiguration configuration)    {        Configuration = configuration;    }    public IConfiguration Configuration { get; }    // This method gets called by the runtime. Use this method to add services to the container.    public void ConfigureServices(IServiceCollection services)    {        // services are here ..    }    public void Configure(IApplicationBuilder app, IHostingEnvironment env)    {        if (env.IsDevelopment())        {            app.UseDeveloperExceptionPage();        }        else        {            //app.UseExceptionHandler("/Home/Error");            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.            app.UseHsts();            app.UseHttpsRedirection();        }        app.UseStaticFiles();        app.UseMvc(routes =>        {            // /            routes.MapRoute(null, "", new            {                controller = "Products",                action = "List",                category = "", page = 1            });            // Page2            routes.MapRoute(null,                "Page{page}",                new                {                    controller = "Products",                    action = "List",                    category = ""                },                new { page = @"\d+" }            );            // Category            routes.MapRoute(null,                "{category}",                new                {                    controller = "Products",                    action = "List",                    page = 1                });PS .Net Core 版本為 2.2
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

您可以將它們放在另一個文件中:


public static class Routing

{

    public static void Include(IApplicationBuilder app)

    {

        app.UseMvc(routes =>

        {

            // /

            routes.MapRoute(null, "", new

            {

                controller = "Products",

                action = "List",

                category = "",

                page = 1

            });


            // Page2

            routes.MapRoute(null,

                "Page{page}",

                new

                {

                    controller = "Products",

                    action = "List",

                    category = ""

                },

                new { page = @"\d+" }

            );

        }

        );

    }

}

然后在“啟動”類中調用它:


public class Startup

{

    ...

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)

    {

        ...

        app.UseStaticFiles();

        Routing.Include(app);

        ...

    }

}


查看完整回答
反對 回復 2023-05-14
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號