asp.net更新面板条件更新如何工作?

时间:2012-01-19 06:17:13

标签: javascript asp.net

我使用VS2010,C#开发一个公司的网络应用程序,他们希望在用户查看他们的网站时播放音乐,我发现了一些控件(flash和JavaScript)来播放mp3文件,但问题是只要有回发,音乐就会从头开始播放,而且不好,音乐应该继续播放,我使用了更新模式设置为条件的更新面板,然后在我的更新面板中插入我的JavaScript mp3播放器,但是当页面有回发后(由更新面板外的一些按钮引起),我的音乐从头开始!我认为将更新模式设置为条件只应在内部控件引起回发时更新更新面板,如何在外部回发时阻止我的JavaScript播放器重新启动?我应该用别的吗?这里出了什么问题?

                    <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
<script type="text/javascript" language="JavaScript" src="http://www.phenomenontest.com/audio-player.js"></script>
<object type="application/x-shockwave-flash" data="http://www.phenomenontest.com/player.swf" id="audioplayer1" height="24" width="290">
<param name="movie" value="http://www.phenomenontest.com/player.swf"/>
<param name="FlashVars" value="autostart=yes&playerID=audioplayer1&soundFile=http://www.phenomenontest.com/silas.mp3"/>
<param name="quality" value="high"/>
<param name="menu" value="false"/>
<param name="wmode" value="transparent"/>
</object> 
                    </ContentTemplate>
                    </asp:UpdatePanel>

2 个答案:

答案 0 :(得分:1)

在更新面板中放置导致回发的按钮,并将UpdateMode设置为“始终”。

答案 1 :(得分:1)

试试这个:

将此代码放入1页audio.aspx

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>   
<script type="text/javascript" language="JavaScript" src="http://www.phenomenontest.com/audio-player.js"></script>
<object type="application/x-shockwave-flash" data="http://www.phenomenontest.com/player.swf" id="audioplayer1" height="24" width="290"> 
<param name="movie" value="http://www.phenomenontest.com/player.swf"/> 
<param name="FlashVars" value="autostart=yes&playerID=audioplayer1&soundFile=http://www.phenomenontest.com/silas.mp3"/> 
<param name="quality" value="high"/> 
<param name="menu" value="false"/> 
<param name="wmode" value="transparent"/> 
</object>


将此代码放入Main.aspx的头部

<frameset rows="1%,99%">
<frame src="Audio.aspx" />
<frame src="Page1.aspx" />
</frameset>