UpdatePanel里的javascript失效

yxyisgood 2008-10-06 11:21:12
在UpdatePanel里有一个js控制的下拉菜单
该菜单调用的是<script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>

第一次打开页面是正常的

一但我点了菜单里的按钮js就失效了

大侠帮忙呀,在线等,急!
...全文
1648 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
zll_zh 2012-07-13
  • 打赏
  • 举报
回复
20楼正解,但是Js代码

<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function() {
// 这里可以加入你在ready中加的代码
});
</script>

要放在
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="200">  </asp:ScriptManager>
之后
yeyuhongchch 2011-10-12
  • 打赏
  • 举报
回复
头疼中~~~~~
zhenshangzhengren 2011-10-10
  • 打赏
  • 举报
回复
mark一下,我也有这样的问题,但是没有找到解决的办法,看了这个才有了一点点头绪,看行不行就要等下才测试,我在用clientmargaret注册应该可以
fbfb135 2010-12-10
  • 打赏
  • 举报
回复
试试用jquery的live方法绑定事件。
kook20092009 2010-04-30
  • 打赏
  • 举报
回复
我也碰到这样的问题了,请问你是怎么解决的呀 ?
我爱画猫 2010-02-03
  • 打赏
  • 举报
回复
21楼的grittycedar的方法是有效的。
jianyunshu 2008-11-12
  • 打赏
  • 举报
回复
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function() {
// 这里可以加入你在ready中加的代码
});
grittycedar 2008-11-12
  • 打赏
  • 举报
回复

string js = "var CollapsiblePanel9 = new Spry.Widget.CollapsiblePanel('CollapsiblePaneld'); ";
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "keyjs", js , false);
namhyuk 2008-10-07
  • 打赏
  • 举报
回复
有没有试着在
<asp:ScriptManager>
<Scripts>
<asp:ScriptReference Path="在这里指明定" />
namhyuk 2008-10-07
  • 打赏
  • 举报
回复
UpdatePanel里的js失效才是合理的。
因为在局部更新时它其实是xxx.innerHTML来更新的。
ljsheng 2008-10-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zero8500 的回复:]
学习
帮顶
[/Quote]`
zero8500 2008-10-07
  • 打赏
  • 举报
回复
学习
帮顶
simon12528 2008-10-07
  • 打赏
  • 举报
回复
学习!!顶
mengxj85 2008-10-07
  • 打赏
  • 举报
回复
JS放在<asp:ScriptManager> 里面吧,我以前碰到过脚本没反应,把JS写到<asp:ScriptManager>就解决了
周公 2008-10-06
  • 打赏
  • 举报
回复
在Page类中有一个ClientScript属性,它是ClientScriptManager的实例,这个类是在asp.net2.0中新增的。ClientScriptManager有如下几个常用方法:
RegisterClientScriptBlock方法:向 Page 对象注册客户端脚本。
RegisterStartupScript方法:向 Page 对象注册启动脚本。
ClientScriptManager类通过键string和Type来唯一标识脚本。具有相同类型的键和Type的脚本识为同一脚本。


protected void Page_Load(object sender, EventArgs e)
{

if (!ClientScript.IsClientScriptBlockRegistered(this.GetType(), "ClientScriptBlock"))
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientScriptBlock", "<script language='javascript'>alert('ClientScriptBlock')</script>");
}

if (!ClientScript.IsStartupScriptRegistered(this.GetType(), "StartupScript"))
{
ClientScript.RegisterStartupScript(this.GetType(), "StartupScript", "<script language='javascript'>alert('StartupScript')</script>");
}
//Response.Write("<script language='javascript'>alert('" + DateTime.Now.ToString() + "')</script>");
}


见:http://blog.csdn.net/zhoufoxcn/archive/2008/09/28/2990318.aspx
yxyisgood 2008-10-06
  • 打赏
  • 举报
回复
能说得祥细些吗,谢谢
刀枪blue 2008-10-06
  • 打赏
  • 举报
回复
改成这样ScriptManager.RegisterStartupScript注册试试
stuart 2008-10-06
  • 打赏
  • 举报
回复
嗯,很头痛的问题。

我以前也是绑定java script

楼上的 ScriptManager 的方法,都是可行的

但是我这里又出了新问题,数据如果是动态的话,就不能正常工作了

现在我只能用 webservice 来解决 javascript 和 updatepanel

http://www.whsi.org.cn/STDFSWeb/Map/STDMapsShow.aspx

这个是,一个食品企业,绑定电子地图页面。

初始了,地图的点。

用户也可以查询,查询的结果,将会更新地图上的点。但是这个时候 ScriptManager 就会出问题,会抱错。

这个问题,只是冰山一角。

很多ajax toolkit 都有这个问题。

ajax toolkit 虽然很酷,很好用。但是很多时候都要解决这种问题。

asp.net ajax toolkit 就像好吃的荔枝,很营养,很好吃,但是会上火
刀枪blue 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yxyisgood 的回复:]
不行呀

有没有大侠救命呀!
[/Quote]
不明白为什么不行?
ddxxyy2002 2008-10-06
  • 打赏
  • 举报
回复
private static void MessageBox(HttpContext myContext,string msg)
{
ScriptManager.RegisterStartupScript((System.Web.UI.Page)myContext.CurrentHandler, typeof(System.Web.UI.Page), "", "<script>alert('" + msg + "');</script>", false);
}
MessageBox(HttpContext.Current,"请选择 更新.");
加载更多回复(7)

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧