为什么我的查询字符串不起作用

本文关键字:不起作用 字符串 查询 我的 为什么 | 更新日期: 2023-09-27 18:32:07

我在查询字符串中遇到问题。以下是我的asp代码

  <asp:Label ID="Lable1" runat="server" Text=""  ></asp:Label>
  <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

C# 代码:

  protected void Page_Load(object sender, EventArgs e)
{   
}
protected void Button1_Click(object sender, EventArgs e)
{
    Lable1.Text += Request.QueryString["refresh"] ;
    Response.Redirect("QueryString1t.aspx?refresh=" + 1 + "");    
}

据我所知,Lable1 文本每次单击按钮时都应该更改。Lable1 文本不应在页面加载时显示任何内容。在按钮单击时,它应该像第一次单击 1 第二次单击 11 一样,依此类推。但它并没有表现出我的期望.所以请告诉我我错在哪里?

为什么我的查询字符串不起作用

设置标签文本后重定向,方法错误。

试试这个: -

protected void Page_Load(object sender, EventArgs e)
{
    Lable1.Text = Request.QueryString["refresh"];
}
protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("QueryString1t.aspx?refresh=" +
     string.IsNullOrEmpty(Request.QueryString["refresh"]) ? 0 :
      Convert.ToInt32(Request.QueryString["refresh"]) + 1 + "");    
}

或者这个: -

protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
    Lable1.Text = string.IsNullOrEmpty(Lable1.Text) ? "0" :
        (Convert.ToInt32(Lable1.Text) + 1).ToString();  
}

看看这个:

http://msdn.microsoft.com/en-us/library/ms178472.aspx

特别是周期中的第四和第五个事件。

如果您希望在查找时更新文本,则需要将该代码放在页面加载中,而不是单击事件处理程序中。

简而言之,你必须这样想:每次你做重定向时,你都会失去视图状态,

http://msdn.microsoft.com/en-us/library/ms972976.aspx

这是 ASP.NET 跟踪控件更新的方法,例如在事件处理程序中。因此,您的更新会立即丢失。

您将点击的下一段代码是加载事件,因此您需要在此处设置标签的 text 属性。

如何通过 response.redirect 保留标签的值?