如何每次单击按钮返回一个项目
本文关键字:一个 项目 何每次 单击 按钮 返回 | 更新日期: 2023-09-27 18:20:19
我在表单加载上方声明了一个数组:
protected string[] Colors = new string [3] {"red", "green", "orange"};
当我点击这个提交时,我想第一次点击时使用Response.Write();
打印red
,第二次点击时打印green
,最后一次点击时输出orange
。我正在阅读如何每次点击按钮都获得数组中的下一个项目?这个用户正在尝试与我尝试做的非常相似的事情,但是在这种情况下,数组看起来是动态的。
在会话中跟踪它
protected void Page_Load(object sender, EventArgs e)
{
int? count = Session["count"] as int?;
count = (count == null) ? 0 : count;
Response.Write(Colors[count.Value]);
count = (count + 1) % Colors.Length;
Session["count"] = count;
}
您可以使用视图状态通过特定页面的请求/响应跟踪来跟踪某些信息。您可以在视图状态下存储索引,然后在单击按钮时使用该信息来查看应该打印到屏幕上的内容。
仍在寻找解决方案,在这样做的同时,看到了这个弹出窗口这将获得您的按钮点击量:
ViewState["count"] = Convert.ToInt32(ViewState["count"]) + 1;
至于在数组中循环,我仍在处理它。我只能显示数组中的最后一项。
您必须将点击次数存储在ViewState中,并在按钮的点击事件处理程序中增加一次。
private int NumberOfClicks
{
get { return (int)(ViewState["NumberOfClicks"] ?? 0 );
set { ViewState["NumberOfClicks"] = value; }
}
protected void btn_Click(object sender, EventArgs e)
{
if(NumberOfClicks < colorArray.Length)
{
//write to response colorArray[NumberOfClicks];
NumberOfClicks += 1;
}
}