ASP.NET AJAX部分回发,动态JavaScript值

ASP.NET AJAX部分回发,动态JavaScript值,javascript,asp.net,asp.net-ajax,Javascript,Asp.net,Asp.net Ajax,我正在使用UpdatePanel中的用户控件。用户控件使用swfobject向用户控件中的div添加flash对象。用户控件的部分功能是允许用户更改“频道”。通道是在代码中设置和处理的,因此下面的JavaScript中调用 我遇到的问题是,当保存新频道时,下面的JavaScript代码仍然指向旧频道。我唯一能解决这个问题的方法是通过代码更新页面,但我认为一定有更好的方法来做到这一点 有人能帮忙吗 <script type="text/javascript"> //Required t

我正在使用UpdatePanel中的用户控件。用户控件使用swfobject向用户控件中的div添加flash对象。用户控件的部分功能是允许用户更改“频道”。通道是在代码中设置和处理的,因此下面的JavaScript中调用

我遇到的问题是,当保存新频道时,下面的JavaScript代码仍然指向旧频道。我唯一能解决这个问题的方法是通过代码更新页面,但我认为一定有更好的方法来做到这一点

有人能帮忙吗

<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>

//需要在部分回发后将小部件读取到div
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.添加页面加载(flashVideo);
//SWFObject嵌入
函数flashVideo_u2;({
var flashvars={
initialURL:escape(document.location),
paramXMLPath:“/videoprotype/single video.aspx?channel=”
}
变量参数={
bgcolor:#121212“,
allowfullscreen:“正确”
}
变量属性={}
swfobject.embeddeswf(“/videoprototype/assets/slideshowpro.swf”、“video”、“285”、“215”、“10.0.0”、false、flashvars、params、attributes);
} 

我想看看以下链接:


您可能想利用
\uuu doPostBack()
刷新更新面板。

在页面级别(在
部分的某个地方)为当前选择的频道声明全局变量是否是一种解决方案:

其中“mycustomControl”是用户控件的实例

希望这对你有帮助

<script type="text/javascript">
    var channel = <%=channel%>;
</script>
  ScriptManager.RegisterStartupScript(myCustomControl, myCustomControl.GetType(), 
    Guid.NewGuid().ToString(), "channel = " + channel, true);