【问题标题】:I need to use multiple response.redirect in ASP.NET using C#我需要使用 C# 在 ASP.NET 中使用多个 response.redirect
【发布时间】:2015-02-16 00:52:39
【问题描述】:

我正在编写一个学校课程,我正在尝试将 3 个输入字段移动到一个新页面。

我可以让 response.redirect 在一个领域工作,但不能更多。

当我单击按钮时,它会将我带到下一页,并且只带入一个字段。不是我想要达到的 3 个。

任何人都可以引导我的权利吗?提前谢谢...

第一页:

protected void btnEnterSelection_Click(object sender, EventArgs e)
{
    lblBookEntered.Visible = true;
    lblBookType.Visible = true;
    lblPurchaseType.Visible = true;
    lblBookEnteredText.Visible = true;
    lblBookTypeText.Visible = true;
    lblPurchaseTypeText.Visible = true;
    lblBookEntered.Text = "The book you entered is: ";
    lblBookEnteredText.Text = txtBoxBookTitle.Text;
    lblBookType.Text = "The book type is: ";
    lblBookTypeText.Text = drpDownType.Text;
    lblPurchaseType.Text = "The purchase type is: ";
    lblPurchaseTypeText.Text = drpDownPurchase.Text;
}

protected void btnPurchase_Click(object sender, EventArgs e)
{
    Response.Redirect("turtleDoxPurchase.aspx?bookName=" + txtBoxBookTitle.Text);
    Response.Redirect("turtleDoxPurchase.aspx?bookType=" + drpDownType.Text);
    Response.Redirect("turtleDoxPurchase.aspx?purchaseType=" + drpDownPurchase.Text);
}

第二页:

protected void Page_Load(object sender, EventArgs e)
{
    lblBookEntered.Visible = true;
    lblBookType.Visible = true;
    lblPurchaseType.Visible = true;
    lblBookEnteredText.Visible = true;
    lblBookTypeText.Visible = true;
    lblPurchaseTypeText.Visible = true;
    lblBookEntered.Text = "The book you entered is: ";
    lblBookEnteredText.Text = Request.QueryString["bookName"]; 
    lblBookType.Text = "The book type is: ";
    lblBookTypeText.Text = Request.QueryString["bookType"];
    lblPurchaseType.Text = "The purchase type is: ";
    lblPurchaseTypeText.Text = Request.QueryString["purchaseType"];

    lblCreditCard.Visible = true;
    txtBoxCreditCard.Visible = true;
    lblCreditCardChoice.Visible = true;
    rdoListCreditCard.Visible = true;
    btnSubmitPayment.Visible = true;
}

【问题讨论】:

  • 这意味着什么?您只能打开一页。
  • 不,先生,当我单击按钮时,它会将我带到下一页,并且只带来一个字段。
  • 我不知道您是否注意到,但Response.Redirect() 通常结束响应,并且无法向客户端发送任何其他内容。 HTTP 重定向被发送到客户端,并且该上下文结束。这是 ASP.NET 工作原理的一些基础知识,也是您需要了解的关键知识。

标签: c# asp.net visual-web-developer


【解决方案1】:

如果我对问题的理解正确,您正尝试将三个值从第一页发送到第二页。在这种情况下,您可以使用来自 txtBoxBookTitle、drpDownType 和 DrpDownPurchase 的值构建一个查询字符串。字符串应采用以下格式:

string queryString = "?bookName={txtBoxBookTitle}&bookType={drpDownType.Value}&purchaseType={DrpDownPurchase.Value}"

然后你可以将上面的字符串附加到你的

Response.Redirect("turtleDoxPurchase.aspx" + queryString);

希望有帮助!

【讨论】:

  • 您应该在传递参数时使用 Server.UrlEncode(在第二页处理它们时使用 UrlDecode)
猜你喜欢
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
相关资源
最近更新 更多