为什么我的查询字符串不起作用
本文关键字:不起作用 字符串 查询 我的 为什么 | 更新日期: 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 保留标签的值?