将ASP.NET会话转移到其他ASP.NET解决方案

时间:2012-10-31 14:46:14

标签: c# asp.net session response.redirect

我有一个2 ASP.NET解决方案。第一个叫做HomePage,另一个叫Main。我正在使用IIS 7.5。在IIS的根目录下,我有两个同名的文件夹(HomePage和Main)。每个解决方案都在自己的文件夹中。

我正在尝试将会话从HomePage转移到Main。

主项目(文件ASPNETToASPNET.aspx)

private void Page_Load(object sender, System.EventArgs e)
{
    string queryString = String.Empty;
    string destPage = Request.Form["destpage"].ToString();
    ...
}

HomePage.aspx

private void Redirect_Click(object sender, CommandEventArgs e)
{
    Response.Redirect("http://www.website.com/Main/Pages/ASPNETToASPNET.aspx?destpage=" + e.CommandArgument + "&SessionNoClient=" + Session["SessionNoClient"], false);
    Response.Redirect("./Main/Pages/ASPNETToASPNET.aspx?destpage=" + e.CommandArgument + "&SessionNoClient=" + Session["SessionNoClient"], false);
}

使用第一个重定向时,我到达了相应的文件,但是我在行

时遇到了错误
string destPage = Request.Form["destpage"].ToString();
Object reference not set to an instance of an object.

使用其他重定向时,我无法找到找到相应文件的方法。

如前所述,两种解决方案都在同一台服务器上并使用相同的域。

任何解决方案?

1 个答案:

答案 0 :(得分:2)

string destPage = Request.QueryString["destpage"];
  1. 这不是会话转移,您只是传递查询参数。
  2. Request.Form集合包含POST值。对于查询字符串参数(GET)使用Request.QueryStringRequest.Params,最后一个搜索QueryStringFormCookiesServerVariables中的值}。