C# 在webforms中播放声音而不会因为回发而重置

C# 在webforms中播放声音而不会因为回发而重置,c#,html,asp.net,C#,Html,Asp.net,我是一名英语教师/初级程序员,正在为他的班级制作一个浏览器游戏。我设法用另一个问题的代码在HTML中建立了一个声音循环,效果很好,但我遇到了一个我无法解决的问题。我使用C#作为代码隐藏,每次按下按钮都会有回发,页面会重新加载。我的问题是,这会重置开始播放的声音,这使得无法正确播放歌曲 以下是我正在使用的HTML代码: <NOEMBED><BGSOUND SRC="/sound/tutorial.wav" LOOP="2"></NOEMBED> <EMBE

我是一名英语教师/初级程序员,正在为他的班级制作一个浏览器游戏。我设法用另一个问题的代码在HTML中建立了一个声音循环,效果很好,但我遇到了一个我无法解决的问题。我使用C#作为代码隐藏,每次按下按钮都会有回发,页面会重新加载。我的问题是,这会重置开始播放的声音,这使得无法正确播放歌曲

以下是我正在使用的HTML代码:

<NOEMBED><BGSOUND SRC="/sound/tutorial.wav" LOOP="2"></NOEMBED>
<EMBED SRC="/sound/tutorial.mp3" HEIGHT="0" WIDTH="0" AUTOSTART="TRUE">
</EMBED> 


我希望这个问题还没有得到回答,我检查了一下,什么也找不到。我希望你能帮我一把

听起来你需要使用Ajax。有几种方法可以解决这个问题。您可以创建HTML帧,其中回发行为在一个帧中发生,而音频在另一个帧中播放。或者您可以删除回发行为,并使用JavaScript/AJAX向服务器发出请求,而无需重新加载页面。您唯一的解决方案是防止回发(即,执行AJAX调用而不是回发)。除非您想尝试存储当前位置,然后在加载时从那里重播,但在这种情况下仍然会有短暂的沉默……您应该查看aspnet“UpdatePanel”。它可以进行ajax发布,而不是完整的回发。听起来你需要使用ajax。有几种方法可以解决这个问题。您可以创建HTML帧,其中回发行为在一个帧中发生,而音频在另一个帧中播放。或者您可以删除回发行为,并使用JavaScript/AJAX向服务器发出请求,而无需重新加载页面。您唯一的解决方案是防止回发(即,执行AJAX调用而不是回发)。除非您想尝试存储当前位置,然后在加载时从那里重播,但在这种情况下仍然会有短暂的沉默……您应该查看aspnet“UpdatePanel”。它执行ajax发布,而不是完整的回发。