UpdatePanel里的javascript失效

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

第一次打开页面是正常的

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

大侠帮忙呀,在线等,急!
...全文
1641 27 打赏 收藏 转发到动态 举报
写回复
用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)
ExtAspNet v3.1.0源码 ExtAspNet 是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果。 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 注:ExtAspNet 基于一些开源程序,比如ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor. 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 历史升级 +2012-03-04 v3.1.0 -修正Hidden属性失效的问题。 -为PageManager增加EnableAspnetSubmitButtonAjax属性。 -修正了在IE9兼容模式以及IE7和IE8下面,IFrame的Tab页在第二次打开时显示空白的问题。 -修正Grid在第一个列设置为RenderAsRowExpander时排序出现的问题。 +为可回发控件增加EnableAjaxLoading属性,用来控制是否显示Ajax提示信息。 -同时注意PageManager有相同的属性来控制页面级别的行为。 +启用Visible属性,但请尽量不要使用这个属性除非你理解它的工作原理。 -为了解决ExtJS本身的一个问题——如果单选框列表或者复选框列表中没有任何一项,就会出现JS错误。 -你需要手动将那些没有任何项的单选框列表或者复选框列表的Visible属性设置false来解决这个问题。 -为了能够在Ajax中显示隐藏元素,请使用Hidden属性(而不是Visible)。 -使用Visible属性会导致不向浏览器输出这个元素,因此也无法通过Ajax切换Visible属性。 -修正Form的LabelWidth属性不能控制单列表单字段的标签宽度的问题。 -修正HtmlEditor获取不到值的问题。 +按需加载ExtJS的JavaScript文件,大大加快了页面第一次的显示速度。 -原来需要一次性下载800K的JavaScript文件,在网络较慢的环境中,单独的文件下载就需要6s左右,形成严重的水桶效应。 -现在将ExtJS的JavaScript文件拆成如下几个部分:core、foundation、form、grid、menu、tab、tree,页面按需下载其中的一些文件。 -将一个大文件分成几个小文件下载,也充分发挥了浏览器并行下载的特性,为更快的显示页面提供了帮助。 -注意:这仅仅适用于页面第一次加载的情况,第二次及以后的页面加载会充分利用浏览器自身的客户端缓存,而无需再次下载这些已经下载过的JavaScript文件。 -为Button\MenuButton\LinkButton\LinkButtonField增加ValidateMessageBox,用来控制在验证失败时是否出现提示对话框。
第一部分nbsp 安nbsp 全 n第1章 使用Login控件 n11 Login控件概览 n12 使用Login控件 n121 自动重定向用户到来源页面 n122 自动隐藏已验证用户的Login控件 n123 使用模板定制Login控件 n124 使Login控件执行自定义身份验证 n13 使用CreateUserWizard控件 n131 配置自定义用户表单字段 n132 发送已创建用户电子邮件通知 n133 用户自动重定向来源页面 n134 自动生成密码 n135 在CreateUserWizard控件中使用模板 n136 在CreateUserWizard控件中添加注册步骤 n14 使用LoginStatus控件 n15 使用LoginName控件 n16 使用ChangePassword控件 n161 发送电子邮件通知密码更改 n162 在ChangePassword控件中使用模板 n17 使用PasswordRecovery控件 n171 找回用户的原始密码 n172 要求安全提示问题和答案 n173 在PasswordRecovery控件中使用模板 n18 使用LoginView控件 n19 小结n第2章 使用ASPNET Membership n21 配置身份验证 n211 配置Forms身份验证 n212 使用无cookie的Forms身份验证 n213 在Forms身份验证中使用相对超时限制 n214 跨应用程序使用Forms身份验证 n215 跨域使用Forms身份验证 n216 使用FormsAuthentication类 n217 使用User类 n22 配置安全授权 n221 角色授权 n222 根据位置授权访问文件 n223 对图片以及其他文件类型进行访问授权 n23 使用ASPNET Membership n231 使用Membership API n232 加密和散列用户密码 n233 修改用户密码条件 n234 锁定坏用户 n235 配置SQLMembershipProvider提供程序 n236 配置ActiveDirectoryMembershipProvider n237 创建自定义Membership提供程序 n24 使用角色管理器 n241 配置SqlRoleProvider n242 配置WindowsTokenRoleProvider n243 配置AuthorizationStoreRoleProvider n244 在浏览器cookie中缓存角色 n245 使用Roles API n25 小结n第二部分nbsp 创建ASPNET应用程序 n第3章 维护应用程序状态 n31 使用浏览器cookie n311 cookie的安全性限制 n312 创建cookie n313 读取cookie n314 设置cookie属性 n315 删除cookie n316 使用多值cookie n32 使用Session状态 n321 在Session状态中保存数据库数据 n322 使用Session对象 n323 处理Session事件 n324 会话失效控制 n325 使用无Cookie的Session状态 n326 配置Session状态存储 n327 配置SQL Server Session状态 n33 使用用户配置文件 n331 创建用户配置文件组 n332 支持匿名用户 n333 合并匿名用户配置文件 n334 从自定义类继承Profile n335 创建复杂Profile属性 n336 自动保存用户配置 n337 从组件访问用户配置 n338 使用配置文件管理器 n339 配置用户配置提供程序 n3310 创建自定义用户配置提供程序 n34 小结n第4章 缓存应用程序页面和数据 n41 缓存概 n42 使用页面输出缓存 n421 使用参数改变输出缓存 n422 基于控件变化的输出缓存 n423 基于头变化的输出缓存 n424 基于浏览器变化的输出缓存 n425 基于自定义函数变化的输出缓存 n426 设置缓存位置 n427 创建页面输出缓存文件依赖 n428 使用编程方式设置页面输出缓存过期 n429 以编程方式操作页面输出缓存 n4210 创建页面输出缓存配置 n43 使用部分页面缓存 n431 使用缓存后替换 n432 用户控件缓存 n433 共享用户控件的输出缓存 n434 以编程方式处理用户控件缓存 n435 创建用户控件缓存的文件依赖 n436 缓存动态载入的用户控件 n44 使用数据源缓存 n441 使用绝对缓存过期策略 n442 使用弹性缓存过期策略 n443 使用ObjectDataSource控件缓存 n444 使用XmlDataSource控件缓存 n445 创建DataSource控件键依赖 n45 使用数据缓存 n451 使用缓存API n452 添加项目到缓存 n453 使用绝对过期策略添加项目 n454 使用弹性过期策略添加项目到缓存 n455 使用依赖添加项目 n456 指定缓存项目优先级 n457 配置缓存 n46 使用SQL缓存依赖 n461 使用轮询SQL缓存依赖 n462 配置轮询SQL缓存依赖 n463 对页面输出缓存使用轮询SQL缓存依赖 n464 对数据源缓存使用轮询SQL缓存依赖 n465 对数据缓存使用轮询SQL缓存依赖 n466 使用推SQL缓存依赖 n467 配置推SQL缓存依赖 n468 对页面输出缓存使用推SQL缓存依赖 n469 对数据源缓存使用推SQL缓存依赖 n4610 对数据缓存使用推SQL缓存依赖 n47 小结n第5章 多语言本地化应用程序 n51 设置当前文化 n511 手动设置文化 n512 自动检测文化 n513 在Web配置文件中设置文化 n514 文化和ASPNET控件 n52 使用CultureInfo类 n521 使用CultureInfo类格式化字符串值 n522 比较和排序字符串值 n53 创建本地资源 n531 显式本地化表达式 n532 隐式本地化表达式 n533 对页面属性使用本地化资源 n534 以编程方式获取本地资源 n54 创建全局资源 n541 以编程方式获取全局资源 n542 使用强类型本地化表达式 n55 使Localize控件 n56 小结n第6章 使用HTTP运行库 n61 创建自定义BuildProvider n611 创建简单的BuildProvider n612 创建数据访问组件BuildProvider n62 创建自定义ExpressionBuilder n63 创建HTTP处理程序 n631 创建一般处理程序 n632 实现IHttpHandler接口 n633 创建异步HTTP处理程序 n64 使用HTTP应用程序和HTTP模块 n641 创建Globalasax文件 n642 创建自定义HTTP模块 n65 小结n第7章 创建动态数据应用 n71 ASPNET动态数据介绍 n72 创建动态数据应用 n73 使用动态数据模板 n731 修改共享模板 n732 创建类型和实体特定的模板 n74 小结n第8章 创建ASPNET MVC应用 n81 ASPNET MVC框架介绍 n811 模型 n812 视图 n813 控制器 n82 创建你的第一个ASPNET MVC应用 n83 创建MVC页面 n84 接受窗体输入 n85 小结n第9章 配置应用程序 n91 网站配置概览 n911 使用Web站点管理工具 n912 使用ASPNET的MMC嵌入式管理单元 n913 ASPNET配置节 n914 把配置设置应用到特定路径 n915 锁定配置文件 n916 添加自定义应用程序设置 n917 将配置设置放到外部文件 n92 使用配置API n921 从当前应用程序读取配置节 n922 打开配置文件 n923 打开远程服务器上的配置文件 n924 使用Configuration类 n925 修改配置节 n926 准备创建新的网站 n93 创建自定义配置节 n94 创建加密的配置节 n941 使用aspnet_regiis工具加密配置节 n942 以编程方式加密配置节 n943 部署加密的Web配置文件 n95 小结n第10章 部署ASPNET Web应用 n101 打包Web应用 n102 使用Webconfig转换 n103 部署数据库 n104 一键式发布Web应用 n105 小结n第三部分 构建自定义控件 n第11章 构建自定义控件 n111 构建自定义控件概述 n1111 构建完全生成控件 n1112 构建组合控件 n1113 构建混合控件 n112 视图状态和控件状态 n1121 支持视图状态 n1122 支持控件状态 n113 处理回传数据和事件 n1131 处理回传数据 n1132 处理回传事件 n114 使用控件属性集合 n1141 使用ParseChildren特性 n1142 使用AddParsedSubObject方法 n1143 使用ControlBuilder n115 构建更好的设计器体验 n1151 给控件应用设计时特性 n1152 创建控件设计器 n1153 创建ContainerControlDesigner n1154 添加智能标签 n116 小结n第12章 创建模板化数据绑定控件 n121 创建模板化控件 n1211 实现ITemplate接口 n1212 创建默认模板 n1213 支持简化的数据绑定 n1214 支持双向数据绑定 n122 建模板化数据绑定控件 n123 小结n第四部分 ASPNET AJAX n第13章 使用服务器端ASPNET AJAX n131 Ajax概况 n132 服务器端Ajax与客户端Ajax n133 调试Ajax应用 n134 使用UpdatePanel控件 n1341 指定UpdatePanel触发器 n1342 嵌套的UpdatePanel控件 n1343 以编程方式更新UpdatePanel n1344 UpdatePanelJavaScript n1345 UpdatePanel服务器端页面执行生命周期 n1346 UpdatePanel客户端页面执行生命周期 n1347 取消当前异步回传 n1348 中断上一个异步回传 n1349 在一次异步回传中传递额外的信息 n13410 优雅地处理UpdatePanel错误 n13411 UpdatePanel的性能 n135 使用Timer控件 n136 使用UpdateProgress控件 n137 小结 nnbsp n第14章 使用ASPNET AJAX Control Toolkit n141 使用ASPNET AJAX Control Toolkit n142 Toolkit控件概述 n143 使用AutoComplete控件 n1431 通过页面方法使用AutoCompleteExtender n1432 通过Web服务方法使用AutoCompleteExtender n1433 在AutoCompleteExtender中使用文本/值对 n144 使用DragPanel控件 n145 使用FilteredTextBox控件 n146 使用MaskedEdit控件 n147 使用Animation控件 n148 使用UpdatePanelAnimation控件 n149 小结n第15章 用jQuery实现客户端Ajax n151 jQuery介绍 n1511 使用jQuery库 n1512 创建jQuery文件 n1513 方法和documentready n1514 jQuery选择器 n152 从客户端调用Web服务 n1521 调用外部的Web服务 n1522 调用静态的页面方法 n153 小结n

62,046

社区成员

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

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

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

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