我正在使用 UpdatePanel 内的用户控件。用户控件使用 swfobject 将 flash 对象添加到用户控件中的 div。用户控件的部分功能是它允许用户更改“ channel ”。 channel 在后面的代码中设置和处理,因此在下面的 JavaScript 中调用 <%=channel%>。
我遇到的问题是,当保存新 channel 时,下面的 JavaScript 代码仍然指向旧 channel 。我能解决这个问题的唯一方法是通过后面的代码刷新页面,但我认为必须有更好的方法来做到这一点......
有人能帮忙吗?
<script type="text/javascript">
//Required to readd the widget to the div after partial postback
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(flashVideo_<%=widgetId%>);
// SWFObject embed
function flashVideo_<%=widgetId%>() {
var flashvars = {
initialURL: escape(document.location),
paramXMLPath: "/videoprotoype/single-video.aspx?channel=<%=channel%>"
}
var params = {
bgcolor: "#121212",
allowfullscreen: "true"
}
var attributes = {}
swfobject.embedSWF("/videoprotoype/assets/slideshowpro.swf", "video_<%=widgetId%>", "285", "215", "10.0.0", false, flashvars, params, attributes);
}
</script>
<div id="video_<%=widgetId%>">
</div>
最佳答案
我会查看以下链接:
http://www.ajaxtutorials.com/ajax-tutorials/updating-an-updatepanel-programmatically-in-c/
http://basgun.wordpress.com/2008/02/27/realtime-dynamic-clock-using-aspnet-ajax-updatepanel/
http://encosia.com/2007/07/13/easily-refresh-an-updatepanel-using-javascript/
您可能想利用 __doPostBack()
来刷新您的 UpdatePanel。
关于javascript - ASP.NET AJAX 部分回发、动态 JavaScript 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749298/