首页 文章

将我的站点部署到 生产环境 RedirectToAction时显示空白页面

提问于
浏览
0

那么我的网站本地运行良好,但是当部署到 生产环境 时,RedirectToAction失败并显示空白页面 .

我试过这些Redirect to Action is not working With 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配置(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,My Local IIS中,但在我的 生产环境 IIS中不起作用

1 回答

  • 1

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


    RE:仍然无效

    请参考this document解释需要传递给 RedirectToAction() 的参数

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

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

相关问题