如何在每次点击按钮的情况下一次返回一个项目?

我有一个数组,我在表单加载上面声明:

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; } }