响应重定向保留在同一链接上(WebForms)

时间:2018-01-24 21:24:11

标签: c# asp.net webforms

我在C#中使用Webforms

当用户执行某项操作时,它可能会被重定向到另一个链接,该链接不能正常工作(之前我无法从idh tfs或github回滚项目)

用户在此网站上:

localhost:53145/VistaUsuario.aspx

当用户填写表单并单击“接受”时,后面的代码为:

Session["user"] = txtDominio.Text;

Response.Clear();
Response.Redirect("FormOrden.aspx");

当它执行操作时,它会重定向到添加此参数的同一链接:

localhost:53145/VistaUsuario.aspx?ReturnUrl=%2fFormOrden.aspx

这是“FormOrden.aspx”背后的代码

    protected void Page_Load(object sender, EventArgs e)
    {
            string usuario = (string)Session["user"];

            if (usuario != null)
            {
                this.MostrarDatos();

            }
            else
            {
                this.DoSomethingElse();
            }
        }

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您的web.config中似乎启用了身份验证。您的会话未经过身份验证,因此任何转到其他页面的尝试都会返回到身份验证页面,该页面恰好是您当前的页面(可能是default.aspx)。

你看到ReturnUrl ="%2fFormOrden.aspx的原因是因为表格身份验证在登录后如何处理重定向。

基本上,您尝试点击需要身份验证且未经过身份验证的页面。表单身份验证将请求重定向到登录页面。登录后,您调用FormsAuthentication到RedirectFromLogin页面,然后转到ReturnUrl中指定的页面返回用户试图去的地方。

完成身份验证工作流程,或关闭web.config中的表单身份验证。