传递和检索StringQuerys

时间:2014-03-31 17:21:02

标签: c# asp.net string query-string

我必须传递两个我输入的查询字符串并将其显示在另一页上。

以下是我尝试传递它们的代码。

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

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分: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 中,在“加载”事件中添加以下代码:

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

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