通过c#代码发布到URL值

本文关键字:URL 代码 通过 | 更新日期: 2023-09-27 17:58:47

我正在尝试制作一个通用的登录页面,该页面接受登录信息实际提交到的重定向页面。

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

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

到目前为止,我在so上看到的是客户只是在发帖并获得代理。我不在乎我想要重定向到此页面的响应。

通过c#代码发布到URL值

这将需要往返(就像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();
}