1
我想設置計時器間隔爲5000-10000毫秒隨機使用aspx只(沒有C#代碼後面)。如何爲ASP.NET AJAX Timer控件設置一個隨機的間隔?
下面的示例引發錯誤消息:
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#代碼。
我希望它有幫助。
'<%# %>'從未工作。我確實使用了代碼,但項目的目標是擺脫大部分背後的代碼而不移動到Razor。 – Different111222
事實上,'<%# %>'不會工作,除非你有數據綁定,正如我所說,這不是一個特別優雅的解決方案。我想你可能會陷入僵局。我一定很好奇,看看其他人是否有任何答案,因爲這是我過去試圖發現自己沒有成功的東西。 – Snixtor