ASP.NET Core默认路由不会重定向到所需页面

时间:2020-11-10 04:51:55

标签: c# asp.net-mvc asp.net-core razor-pages

我在更改ASP.Net Core Web应用程序的默认路由时遇到了麻烦。我已将默认路由更改为其他页面,但仍将我重定向到上一页。以下是我的代码段供参考:

Startup.cs

public void Configure(IApplicationBuilder app, IWebHostEnvironment 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.UseSession();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapControllers();
            });

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Main}"); //I had changed this but still redirect me Login
            });
        }

HomeController.cs

public class HomeController : Controller
    {
        public IActionResult Login()
        {
            return View();
        }

        [SessionTimeout]
        public IActionResult Main()
        {
            return View();
        }
    }

如您所见,我的控制器中有2个动作。以前,我使用登录作为默认路由。现在,我希望默认路由为 Main 。但是它仍然将我重定向到登录。我也曾尝试更改 launchUrl ,但仍然无法解决此问题。

非常感谢您的帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

可能是因为使用了SessionTimeoutAttribute。 请尝试对其进行评论,如果问题得到解决,请检查SessionTimeoutAttribute是否已将操作重定向到“登录”,然后将其更改为“主要”。