ASP.NET AJAX部分回发,动态JavaScript值
我正在使用UpdatePanel中的用户控件。用户控件使用swfobject向用户控件中的div添加flash对象。用户控件的部分功能是允许用户更改“频道”。通道是在代码中设置和处理的,因此下面的JavaScript中调用 我遇到的问题是,当保存新频道时,下面的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
<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);