`
totoxian
  • 浏览: 1083220 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

应用Atlas后,页面输出JS脚本的时机

阅读更多

应用Atlas后,页面输出JS脚本的时机

左直拳

我写了个用户控件,里面包含了一些JS脚本。

在页面调用的时候,默认是隐藏的(Visible=”false”),直到用户触发了某事件,才将此控件弹出来(Visible=”true”)

同时页面上也用了Atlas。那个用户控件被UpdatePanel包围着,这样子它隐藏或显示的时候,页面就不会刷新了,追求一种行云流水,波澜不惊的效果。

可是月亮下去了,毛病出来了。

发觉控件中的JS函数、事件都失效了,比如,点一个按牛(其onclick=”GetInfo()”),竟然提示脚本错误:找不到对象。

控件中明明是有该方法的。

据说UpdatePanel的原理是将整个页面提交,数据处理完后回传,然后有选择性地进行局部更新。古怪的是,听说它将页面中所有的JS都放在了一起。这样有时侯会造成一些问题,比如注释语句<!--会将别的函数也注释掉了。

不过我估计不是这个问题。因为一个控件如果在服务器代码中定义为Visible=false,则在页面装载时,其实并没有输出。而在页面运行期间,由AJAX来控制回传刷新,这时候再让控件visible=true,那么输出的控件上的JS是没有注册的,当然是找不到了,在浏览器查看页面的源文件也看不到这些JS脚本的踪影。比如,如果应用了AJAX,又想使用类似“Response.Write(“<javascript>alert(‘Hello World!’);</javascript>”)”的方法,通常都不可以。如果要用的话,听说用RegisterClientScriptBlock注册一下才行,但也有人说不行,我没有试,姑妄听之。

猜想到了原因,要解决问题就不难。不将控件的Visible=false,而是在控件里,用一个<panel>将控件显示内容包围起来,而JS不在范围内,默认panel.Visible=false,这样就既可输出了控件(特别是上面的脚本),又起到隐藏的作用,真是护发去头皮,两全其美。如果要想控制该控件的显隐,很简单,设置一个属性来控制panel.Visible就可以了。

问题解决。

分享到:
评论

相关推荐

    拆解atlas资源脚本

    在实际应用中,这样的脚本对于开发者来说非常有用,因为它可以自动化处理大量资源的拆解工作,节省手动操作的时间。此外,对于调试和更新游戏或动画中的单个图像,也能提供便利。不过,需要注意的是,拆解后的图像...

    atlas图片拆解工具脚本

    # Atlas picture Unpacker ## Requirements - Python (with pip) - [Pillow](https://python-pillow.org) ## Installation ```sh $ sudo easy_install pip $ pip install Pillow ``` ## Usage `test.atlas` ...

    Python脚本一键分解atlas图集_分解后.rar

    作为演示效果,一般都会网上搜集一些,现成的游戏图,基本上都会合成大图发布,图片多起来,一张张裁剪,工作量繁重,如果能有大图信息的文本文件和大图原文件,可以考虑通过以下脚本实现大图的拆分,不同格式的文件...

    ATLAS学习指南

    ATLAS,全称为"ASP.NET Atlas",是微软在早期为增强ASP.NET应用程序的AJAX(Asynchronous JavaScript and XML)功能而推出的一个开发框架。ATLAS的主要目标是简化Web开发,特别是在构建具有丰富用户体验的互动式Web...

    atlas基础教程源码

    3. **ScriptManager**:这是Atlas中的一个核心服务器控件,负责管理页面上的Ajax请求,加载必要的脚本库,并协调客户端和服务器端的交互。 4. **触发器(Triggers)**:UpdatePanel可以与按钮或其他控件关联,当...

    Atlas实现的页面加载显示界面

    在本示例中,"Atlas实现的页面加载显示界面"指的是利用Atlas技术来创建一个加载界面,该界面在数据加载过程中显示,待数据加载完成后自动消失。 在游戏或应用开发中,尤其是在移动设备上,为了提高性能和用户体验,...

    根据atlas文件分割图集

    将atlas文件,png和脚本放在同一文件夹下,运行py脚本后可以将图集分割成小图

    开心三人行系列(2):使用Atlas 构建AJAX应用

    "开心三人行系列(2):使用Atlas 构建AJAX应用"是一个关于Web开发的专题,主要聚焦在如何利用Atlas框架来构建高效的AJAX(Asynchronous JavaScript and XML)应用程序。这个专题可能包括一系列的学习资源,如PPT演示...

    使用Atlas简化客户端Ajax编程

    而**Atlas**是微软为JavaScript开发者提供的一种工具集,旨在简化Ajax应用程序的开发。本文将深入探讨如何使用Atlas来优化和简化客户端Ajax编程。 一、 Atlas简介 Atlas是微软对JavaScript库的扩展,其核心目标是为...

    Atlas图集拆分工具,支持同一atlas多图片

    自动分解多图片的atlas文件,支持同一atlas下多图片,支持拆分到子目录。

    atlas安装

    这些脚本通常位于`sql`目录下,执行后,Atlas才能正常工作。 6. **启动Atlas**:在修改好配置并初始化数据库后,你可以通过命令行启动Atlas。如果是Spring Boot方式的打包,通常是`java -jar atlas.jar`;如果是...

    Atlas基础教程

    Atlas是微软在ASP.NET框架下推出的一个用于快速开发Ajax应用的库,主要目的是简化Web开发者在构建异步更新页面时的工作流程。这个基础教程将帮助你深入理解如何使用Atlas来提升用户体验,实现页面的无刷新更新。 ...

    Atlas控件

    Atlas控件集提供了一系列与客户端JavaScript库集成的服务器端控件,使得开发者可以轻松实现页面的部分更新、动态数据绑定以及更丰富的用户交互体验。 在“Atlas控件的使用案例”中,我们可以探讨以下几个关键知识点...

    04-基于Atlas人工智能计算平台应用实践.pdf

    华为推出的Atlas人工智能计算平台便是其中的杰出代表,它以高效的AI计算能力,支持多种AI应用场景。本文档主要介绍了Atlas的硬件形态、软件与资料获取方式、业务流程以及开发框架等关键知识点。 首先,让我们来看看...

    CocosCreator中.atlas转换成.plisi工具

    总之,这个"CocosCreator中.atlas转换成.plisi工具"是Python编程在游戏开发领域的一个实例应用,它简化了资源格式转换的过程,提高了开发效率。通过学习和使用这样的工具,开发者可以扩展他们的技能,更好地适应项目...

    atlas-toolbox:Perl脚本的集合,用于管理RIPE Atlas网络上的自定义活动度量

    Atlas工具箱是Perl命令行脚本的集合,可通过管理RIPE Atlas网络上的自定义用户定义的测量(UDM)来进行。 Atlas是一个大型测量网络,由用于测量Internet连接性和可达性的地理分布的探针组成。 该工具箱允许搜索...

    学习Atlas的第一个源码之HelloWorld

    Atlas是微软在ASP.NET 2.0时代推出的一个JavaScript库,用于增强客户端的交互性和动态性,它是后来jQuery和其他AJAX库的前身。在这个案例中,通过创建一个简单的“HelloWorld”应用程序,学习者可以理解如何在ASP...

    小图片打包成atlas大图片

    使用自动化脚本或集成到构建流程中可以确保每次更新资源后都能自动更新atlas,以保持与代码的一致性。 7. **内存管理**:尽管纹理Atlas能提高性能,但也会增加内存占用。因此,需要适时地释放不再使用的Texture...

    【Atlas 200I DK A2 体验】部署样例 sampleYOLOV7MultiInput

    Atlas 200I DK A2 体验部署样例 sampleYOLOV7MultiInput 以下是从给定的文件中生成的...知识点: Atlas 200I DK A2 初次实操、模型转换、应用部署、开发者文档、应用案例、环境变量设置、cmake、AscendCL 底层封装。

    用Atlas实现控件的无刷新效果

    首先,Atlas是微软开发的一个用于构建AJAX应用的JavaScript库,它为ASP.NET提供了丰富的客户端API,使得开发者可以方便地在服务器端和客户端之间进行交互,从而创建出更加动态、响应式的Web应用程序。无刷新效果的...

Global site tag (gtag.js) - Google Analytics