2013-02-12 45 views
1

我試圖做一個通用登錄頁面,需要一個redirectPage,登錄信息實際上被提交到。通過c#代碼發佈到URL vales後面

應用程序的流程,像這樣:

  1. 採取用戶名和登錄,做自己的認證
  2. 一旦通過驗證,我找回2個無關的變量(VARA,varB)
  3. 現在我需要通過post提交varA和varB到redirectPage。我不想做會話變量或查詢字符串。我想要做重定向和發佈,就像你從表單發佈一樣。

到目前爲止,我所見過的是客戶只是發佈和獲得repsonse的地方。我不在乎我希望重定向到此頁面的回覆。

+0

你想只通過C#來做到這一點嗎? – 2013-02-12 20:57:10

+0

如果還有其他方法,我願意提供建議。這是一個ASP .Net/C#項目。 – Oscar 2013-02-12 21:29:24

回答

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(); 
}