2

这是我的情况,虽然可能有点奇怪:我以 身份登录admin,然后使用表单进入某个页面,然后由于某种原因身份验证失败(例如,离开太久但没有关闭页面,或者断开网络并稍后连接),当我再次发布表单时,它会进入登录页面。登录页面可以获取returnUrl并重定向到上一个页面,但是现在所有的表单数据都丢失了。最终结果是应用程序错误页面。

登录的重定向部分是:

    if (Membership.ValidateUser(userName, password))
    {
        if (!String.IsNullOrEmpty(returnUrl))
            return this.Redirect(303, returnUrl);
        else
            return this.Redirect(303, FormsAuthentication.DefaultUrl);
    }

那么,如何使用表单数据重定向(由于许多页面需要身份验证,表单数据可能因操作而异)?

4

1 回答 1

2

您不能使用表单数据进行重定向。当您重定向时,您正在使用 GET 请求。表单数据仅包含在 POST 请求的正文中。您当然可以遍历所有表单数据键和值,并将它们作为查询字符串参数附加到目标 url,但不要忘记查询字符串的长度存在限制,这可能因浏览器而异。

于 2013-03-25T07:19:33.077 回答