有一个简单的代码,我在其中添加了一个计时器并生成了tick事件,但事件未触发。
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick" Enabled="True" EnableViewState="True" ViewStateMode="Inherit" ClientIDMode="Inherit"></asp:Timer>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
setImageurl();
//Timer1.Tick += new EventHandler(Timer1_Tick);
//Timer1.Interval = 1000;
}
}
void setImageurl()
{
Random _rand = new Random();
int i = _rand.Next(1, 4);
Image1.ImageUrl = "~/ImagesSlideshow/" + i.ToString() + ".jpg";
}
protected void Timer1_Tick(object sender, EventArgs e)
{
setImageurl();
}
我不知道为什么会这样。帮助我。
答案 0 :(得分:2)
在EnableCdn="true"
上设置ScriptManager
,它会起作用,只是在我这边试过:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableCdn="true"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="1000"></asp:Timer>
<asp:Image ID="Image1" runat="server" />
</form>
答案 1 :(得分:0)
作为一般经验法则,您必须为定时器控件设置Timer1.Enabled=true
以触发它的Tick()事件。