我想自动播放在asp.net网页上计时器勾选的事件,但它是不工作的。但是,如果我单击play按钮并播放音频一次,音频就会自动播放下一个勾选事件。这里有什么问题?
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<asp:Timer ID="Timer1" runat="server" Interval="3000" OnTick="Timer1_Tick">
</asp:Timer>
</div>
</form>
这是密码
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Timer1_Tick(object sender, EventArgs e)
{
string link = "Audio/" + "1.mp3";
link = "<audio Controls autoplay ><Source src=" + link + " " + "type= audio/mpeg></Video>";
Literal1.Text = link;
}
发布于 2022-05-16 06:48:47
您需要使用UpdatePanel
才能使用Timer
,如文档中所述:
计时器控件使您能够在指定的时间间隔内执行回发。当您使用Timer控件作为UpdatePanel控件的触发器时,UpdatePanel控件将通过使用异步的部分页面更新来更新。要使用计时器控件,必须在网页中包含ScriptManager对象。
通过在UpdatePanel控件中包含计时器,可以使用Timer控件更新UpdatePanel控件。或者,您可以将计时器放置在UpdatePanel控件之外,并将计时器设置为触发器。
还可以通过将计时器控件包括在网页中,而不将其设置为UpdatePanel控件的触发器,从而启动完整网页的完整回发。
所以,您的代码应该如下所示:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="3000" OnTick="Timer1_Tick" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
https://stackoverflow.com/questions/72251093
复制相似问题