2014-03-31 20 views
0

我必须传递我输入的两个查询字符串并将它们显示在另一页上。传递和检索StringQuerys

这里是我试图通过它们的代码。

protected void btnDisplay_Click(object sender, EventArgs e) 
    { 
     string vacations = Session["Vacations"] as string; 
     string hobbies = Session["Hobbies"] as string; 
     string classes = Session["Classes"] as string; 

     lblDisplay.Text = "Your favorite vacations spots are: " + vacations + "<br />" + 
     "Your hobbies are: " + hobbies + "<br />" + 
     "Your IT Classes are: " + classes; 

    } 
    protected void btnRedirect_Click(object sender, EventArgs e) 
    { 
     string vacations = Request.QueryString["vacations"]; 

     Response.Redirect("Summary2.aspx?vacations=" + vacations); 
    } 

这里是我尝试检索并显示它们的地方。

protected void btnDisplay_Click(object sender, EventArgs e) 
{ 


    lblDisplay.Text = Request.QueryString["vacations"]; 

} 

我搞不​​清楚我做错了什么。当我点击第二页上的显示按钮时,什么也没有显示出来。我假设我没有正确传递信息。

PS试图传递的信息是我的代码停止时的会话状态。我只需要通过查询字符串发送vacationsclasses

+0

你的代码不太合理。您是从查询字符串中获取值并将它们重新添加到查询字符串中?你是否想要从会议中拿走,而不是像在顶部一样?第二页上的URL是什么样的? 'vacations ='后面有什么吗? – DLeh

回答

1

您需要从会话中获取休假价值。您正在从第一页上的查询字符串中读取它。

protected void btnRedirect_Click(object sender, EventArgs e) 
{ 
    string vacations = Session["vacations"] as string; // this line 
    string classes = Session["vacations"] as string; 

    Response.Redirect("Summary2.aspx?vacations=" + vacations + "&classes=" + classes); 
} 
0

我想你想发送两个参数。 (你的问题有点困惑)

我希望这可以帮助你。

所以,在你的WebForm 1,添加一个按钮,写这个小代码:

Session["Vacations"] = "sample 1"; 
Session["variable2"] = "variable 2"; 
string vacations = Session["Vacations"] as string; 
string variable2 = Session["variable2"] as string; 
string myquery = vacations + "/" + variable2; 
Response.Redirect("WebForm2.aspx?myquery=" + myquery); 

在你的WebForm 2,在 “load” 事件添加以下代码:

string data = Request.QueryString["myquery"]; 
string[] words = data.Split('/'); 
foreach (string word in words) 
{ 
    Response.Write(word); 
} 

这是一种在两个网页之间传递两个参数的方法。

相关问题