将我的网站部署到生产RedirectToAction时显示空白页

问题描述 投票:0回答:1

我的站点本地工作正常,但是当部署到生产环境时,RedirectToAction失败并显示空白页。

我已经尝试过这些重定向到Action不适用于ASP.NET Core

这是代码:

    public ActionResult Login()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Login(Models.UserViewModel person)
    {
        var booleanlog = Models.Security.User.login.DoLogin(person);
        if (booleanlog!=0) {
            ...
            return View("Index");
        }
        else {

            return View("Login");
        }

    }

我也已经尝试过此代码,无法正常工作

    [HttpPost]
    public ActionResult Login(Models.UserViewModel person)
    {
        var booleanlog = Models.Security.User.login.DoLogin(person);
        if (booleanlog != 0) {
            var serializeSession = JsonConvert.SerializeObject(booleanlog);
            HttpContext.Session.Set("Rol", Encoding.ASCII.GetBytes(serializeSession));
            return RedirectToAction("Index","Home");
        }
        else {

            return RedirectToAction("Index", "Home");
        }

    }

有我的路线配置public void Configure(IApplicationBuilder app,IHostingEnvironment env){if(env.IsDevelopment()){app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else if(env.IsProduction()){

            app.UseExceptionHandler("/Error");

        } else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();
        app.UseSession();
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Login}/{id?}");
        });
    }

并显示这个

重定向到根locahost并显示未找到错误404

此外,此功能在我的本地VisualStudio IIS Express(我的本地IIS)中有效,但在我的生产IIS中不起作用

.net asp.net-core .net-core iis-8
1个回答
1
投票

您正在做return View() 。 如果您指定其他视图,则View()不会返回RedirectToActionResult 。 您想在else块中return RedirectToAction()


RE:仍然行不通

请参考该文档该文档解释了需要将哪些参数传递给RedirectToAction()

如果return RedirectToAction('Login') ,则告诉它从当前控制器上的操作返回结果。

如果这不是所需的行为,则需要提供“登录”是什么。

© www.soinside.com 2019 - 2024. All rights reserved.