!!!存储页面上的变量,在异步回传中,可以用ViewState
页面关键代码:
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</asp:Timer>
<asp:Image ID="Image1" runat="server" ImageUrl="~/image/1.jpg" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
后台代码:
public partial class Timer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack )
{
//设置页面上的变量
ViewState["number"] = 1;
}
LiteralControl li = new LiteralControl(DateTime.Now.ToString());
this.UpdatePanel1.ContentTemplateContainer.Controls.Add(li);
}
protected void Timer1_Tick(object sender, EventArgs e)
{
ViewState["number"] = Convert.ToInt32(ViewState["number"]) + 1;
Image1.ImageUrl = string.Format("~/image/{0}.jpg", ViewState["number"]);
if (Convert.ToInt32(ViewState["number"]) == 12)
{
ViewState["number"] = 1;
}
}
}