【问题标题】:Passing and retrieving StringQuerys传递和检索 StringQuery
【发布时间】:2014-03-31 17:21:02
【问题描述】:

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

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

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

【问题讨论】:

  • 您的代码不太合理。您正在从查询字符串中获取值并将它们重新添加到查询字符串中?你是不是想从 Session 中取而代之,就像你在顶部所做的那样?第二页上的 URL 是什么样的? vacations=之后还有什么吗?

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


【解决方案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);
}

【讨论】:

    【解决方案2】:

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

    希望对你有帮助。

    所以,在您的 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);
    }
    

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

    【讨论】:

      猜你喜欢
      • 2016-06-07
      • 2016-08-08
      • 2016-12-28
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多