我想仅使用 aspx 将 Timer Interval 设置为 5000-10000 ms(没有后面的 C# 代码)。
以下示例引发错误消息:
Cannot create an object of type 'System.Int32' from its string representation '<%= Random.Next(5000,10000) %>' for the 'Interval' property.
如何更正间隔变量以获得随机间隔调用?
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="<%= Random.Next(5000,10000) %>">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<%= DateTime.Now.ToString() %>
</ContentTemplate>
</asp:UpdatePanel>
我尝试了 Convert.ToInt32,但它不起作用。
甚至可能吗?
为了获得一些灵感,我设法用这种方式背后的一些 C# 代码解决了这个问题:
aspx:
<asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick">
C# :
protected void Timer1_Tick(object sender, EventArgs e)
{
Random random = new Random();
Timer1.Interval = random.Next(5000, 10000);
}
但同样,我想摆脱 C# 代码。
我希望它有所帮助。