1

我正在尝试制作一个通用登录页面,该页面采用登录信息实际提交到的 redirectPage。

应用程序的流程是这样的:

  1. 输入用户名并登录并进行我自己的身份验证
  2. 一旦通过身份验证,我会检索 2 个不相关的变量( varA、varB )
  3. 现在我需要通过 post 将 varA 和 varB 提交到 redirectPage。我不想做会话变量或查询字符串。我想做重定向和发布,就像您从表单发布一样。

到目前为止,我在 SO 上看到的是客户刚刚发布并获得回复的地方。我不关心我也想重定向到此页面的响应。

4

1 回答 1

0

这将花费往返(就像Response.Redirect()那样),但这是一种理智的方式来做你想做的事。

public void ReirectPost(string redirectUrl, Dictionary<string,string> vars)
{
  Response.Clear();

  StringBuilder sb = new StringBuilder();
  sb.Append("<html>");
  sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
  sb.AppendFormat("<form name='form' action='{0}' method='post'>", redirectUrl);
  foreach(var v in vars)
    sb.AppendFormat("<input type='hidden' name='{0}' value='{1}'>", v.Key, v.Value);

  sb.Append("</form></body></html>");

  Response.Write(sb.ToString());
  Response.End();
}
于 2013-02-12T21:01:05.967 回答