ScriptManager 控件概述

2023-10-27

原文 http://msdn.microsoft.com/zh-cn/library/bb398863.aspx


ScriptManager 控件管理支持 AJAX 的 ASP.NET 网页的客户端脚本。 默认情况下,ScriptManager 控件会向页面注册 Microsoft AJAX Library 的脚本。 这将使客户端脚本能够使用类型系统扩展并支持部分页呈现和 Web 服务调用这样的功能。

本主题包含以下各节:

必须在页上使用 ScriptManager 控件,才能启用下列 ASP.NET 的 Microsoft Ajax 功能:

  • Microsoft AJAX Library 的客户端脚本功能和要发送到浏览器的任何自定义脚本。有关更多信息,请参见使用 Microsoft Ajax Library 创建自定义客户端脚本

  • 部分页呈现,允许单独刷新页面上的区域而无需回发。 ASP.NET UpdatePanelUpdateProgress 和Timer 控件需要 ScriptManager 控件才能支持部分页呈现。

  • Web 服务的 JavaScript 代理类,允许您使用客户端脚本来访问 Web 服务和 ASP.NET 页中特别标记的方法。 它通过将 Web 服务和页方法作为强类型对象公开来达到此目的。

  • JavaScript 类,用于访问 ASP.NET 身份验证、配置文件和角色应用程序服务。

当页包含一个或多个 UpdatePanel 控件时,ScriptManager 控件将管理浏览器中的部分页呈现。 该控件与页生命周期进行交互,以更新位于 UpdatePanel 控件内的部分页。 有关更多信息,请参见部分页呈现概述

ScriptManager 控件的 EnablePartialRendering 属性确定某个页是否参与部分页更新。 默认情况下,EnablePartialRendering 属性为 true 因此,默认情况下,当向页添加 ScriptManager 控件时,将启用部分页呈现。 有关如何将 UpdatePanel 控件与 ScriptManager 控件一起使用的信息,请参见 UpdatePanel 控件简介创建具有多个 UpdatePanel 控件的简单 ASP.NET 页

处理部分页呈现错误

在部分页呈现期间,可通过执行以下操作来处理错误:

使用类型系统扩展

Microsoft AJAX Library 可向 JavaScript 添加类型系统扩展,以提供命名空间、继承、接口、枚举、映射以及字符串和数组的 Helper 函数。 这些扩展可以在客户端脚本中提供与 .NET Framework 的功能类似的功能。利用这些功能,可按一种结构化方式编写支持 Ajax 的 ASP.NET 应用程序,这不仅能提高可维护性,还简化了添加功能以及对功能分层的操作。向 ASP.NET 网页添加 ScriptManager 控件会自动包括类型系统扩展名,以便可以在客户端脚本中使用库。有关更多信息,请参见使用 Microsoft Ajax Library 创建自定义客户端脚本

注册自定义脚本

使用 ScriptManager 控件可管理您为参与部分页更新的控件创建的资源。 这些资源包括脚本、样式、隐藏字段和数组。 ScriptManager 控件的 Scripts 集合中针对浏览器中可用的每个脚本包含一个 ScriptReference 对象。 可以以声明方式或编程方式指定脚本。

ScriptManager 控件还公开一些注册方法,您可使用这些方法以编程方式管理客户端脚本和隐藏字段。 当为支持部分页更新的脚本或隐藏字段注册时,必须调用 ScriptManager 控件的注册方法。 (若要为部分页更新不需要的脚本注册,请使用 ClientScriptManager 类的方法。)

注意注意

页上使用 ScriptManager 控件注册的任何脚本以及所有事件处理脚本必须位于页上的 form 元素内。 否则,将不会注册或执行脚本。

有关 ClientScriptManager 控件注册方法的列表,请参见使用 Microsoft Ajax Library 创建自定义客户端脚本和 ClientScriptManager 类概述。

注册 Web 服务

若要注册想要从支持 AJAX 的 ASP.NET 页调用的 Web 服务,请通过将该 Web 服务添加到 ScriptManager 控件的 Services 集合来注册它。 Microsoft Ajax Framework 为 Services 集合中的每个 ServiceReference 对象生成一个客户端代理对象。 这些代理类及其强类型成员将简化从客户端脚本使用 Web 服务的过程。

可通过编程方式将 ServiceReference 对象添加到 Services 集合中,以便在运行时注册 Web 服务。

从客户端脚本使用身份验证、配置文件和角色服务

Microsoft AJAX Library 包含用于从 JavaScript 直接调用 ASP.NET 2.0 Forms 身份验证、配置文件和角色应用程序服务的代理类。 如果要使用自定义身份验证服务,则可通过使用 ScriptManager 控件来为该服务注册。有关更多信息,请参见通过 Microsoft Ajax 使用 Forms 身份验证通过 Microsoft Ajax 使用配置文件信息通过 Microsoft Ajax 使用角色信息

ScriptManagerProxy 类

只能向页添加 ScriptManager 控件的一个实例。 该页可以直接包含该控件,也可以将其间接包含在嵌套的组件中,如用户控件、母版页的内容页或嵌套的母版页。 如果页已包含 ScriptManager 控件,但嵌套的组件或父组件需要 ScriptManager 控件的其他功能,则该组件可以包含 ScriptManagerProxy 控件。 例如,ScriptManagerProxy 控件使您能够添加特定于嵌套的组件的脚本和服务。

说明

ScriptManager

一个使脚本资源可用于浏览器的服务器控件,这些资源包括 Microsoft AJAX Library 和启用部分页呈现的功能。

ScriptManagerProxy

一个服务器控件,它使嵌套的组件能够添加脚本和服务引用(如果页已包含ScriptManager 控件)。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ScriptManager 控件概述 的相关文章

  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • 如何使用 x64 运行 cl?

    我遇到了和这里同样的问题致命错误 C1034 windows h 未设置包含路径 https stackoverflow com questions 931652 fatal error c1034 windows h no include
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • 已发布的 .Net Core 应用程序警告安装 .Net Core,但它已安装

    我制作了一个 WPF 和控制台应用程序 供某人在我无法访问的私人服务器上使用 我使用 Visual Studio 2019 的内置 发布向导 来创建依赖于框架的单文件应用程序 当该人打开 WPF 应用程序时 他们会看到标准警告 他们单击 是
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • Google Apps 脚本中 $.ajax() 的服务器端等效项是什么?

    我想在 Google App 脚本中从服务器端代码执行 HTTP 请求Authorization标头 是否有用于发送 HTTP 请求的 App Script API Google Apps 脚本中的这段代码相当于什么 var api URL
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 比较:接口方法、虚方法、抽象方法

    它们各自的优点和缺点是什么 接口方法 虚拟方法 抽象方法 什么时候应该选择什么 做出这一决定时应牢记哪些要点 虚拟和抽象几乎是一样的 虚方法在基类中有一个实现 可以选择重写 而抽象方法则没有 并且must在子类中被覆盖 否则它们是相同的 在
  • onPress 方法中箭头函数与普通函数的行为

    正在学习 Native React 并学习更多关于 javascript 的知识 所以我仍然不明白它的行为的很多事情 我使用 TouchableOpacity 及其 onPress 属性创建了一个按钮组件 为了让它工作 我必须发送我想要执行
  • 如何解压 msgpack 文件?

    我正在将 msgpack 编码的数据写入文件 在编写时 我只是使用 C API 的 fbuffer 如 我为示例删除了所有错误处理 FILE fp fopen filename ab msgpack packer pk msgpack pa
  • C++:为什么 numeric_limits 对它不知道的类型起作用?

    我创建了自己的类型 没有任何比较器 也没有专门化std numeric limits 尽管如此 由于某种原因 std numeric limits
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 无法将字符串文字分配给装箱的 std::string 向量

    这是我的类型系统的简化版本 include
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • XHbuilder 运行到 Ios APP 需要 ipa 签名,超详细的教程,你不看吃亏的是自己!

    今天使用 hbuilder 运行到 ios 真机的时候 突然发现还需要 ipa 签名 这是什么东东呢 1 IPA 签名是什么 因苹果公司禁止企业证书用于非企业内部开发者 所以开发者无法再使用DCloud的企业证书签名的标准运行基座 运行标准
  • ATM中英转换C语言源代码,Atm机中英转换去取款存款等C语言

    gt cardID cout lt gt psw cout lt 存款 取款 查询余额 修改密码 转账 退出 开户函数定义 cout lt cin gt gt money cout lt 存款函数定义 int money1 cout lt
  • Java synchronized的锁升级与对象头

    1 对象头存储加锁信息 1 如何查看对象头 通过依赖
  • Qt教程(3) : 信号与槽

    信号与槽是用于对象之间的通信的 这是 Qt 的核心 为此 Qt 引入了一些关键字 他们是slots signals emit 这些都不是 C 关键字 是 Qt 特有的 这些关键字会被 Qt 的 moc转换为标准的 C 语句 Qt 的部件类中
  • eclipse 导入项目源码报错(最全问题及解决方案)

    eclipse 导入项目源码报错问题汇总及解决方案 概述 情况一 no projects are found to import 报错原因 解决方法 情况二 导入项目后乱码 报错原因 解决方法 情况三 项目名称上出现红叉 报错原因 解决办法
  • pytorch计算GPU运行时间:

    tim 0 start torch cuda Event enable timing True the times end torch cuda Event enable timing True start record out net i
  • Android匿名共享内存和MemoryFile

    http blog csdn net goodlixueyong article details 53151959 今天要讲的内容相对冷门 日常开发中的使用率较低 但是 在某些场景下 它也许可以带给我们一个新的思路 帮我们解决一些棘手的问题
  • 【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测

    博客主页 virobotics的CSDN博客 LabVIEW深度学习 人工智能博主 所属专栏 LabVIEW深度学习实战 上期文章 LabVIEW OpenCV快速搭建人脸识别系统 附源码 如觉得博主文章写的不错或对你有所帮助的话 还望大家
  • VS Code如何让右键运行代码[秒懂!!!]

    前言 当我们下载完了VSCode 运行代码的时候发现还要去左上角的工具栏上面运行 这里我将教给你如何用右键的菜单运行代码 正文 下载一个插件就可以解决这个问题 Code Runner这款插件能解决这个问题 如图是下载过程 下载完了就可以用右
  • 计算机视觉小实例 No.3 基于Hough变化的答题卡识别

    答题卡识别 答题卡自动阅卷系统通过获取答题卡图像作为系统输入 并通过计算机处理 自动识别填图标记 存入数据库完成阅卷 但是答题卡在运输和使用过程中 容易受到设备 环境等因素的影响 使得图像质量在一定程度上有所下降 影响了自动阅卷的准确率 甚
  • ChatGPT对话聊天

    工具说明 ChatGPT是人工智能技术驱动的自然语言处理工具 它能够通过理解和学习人类的语言来进行对话 还能根据聊天的上下文进行互动 站内地址 本站提供ChatGPT聊天工具 能满足日常使用 但由于对接国外接口 中间经过复杂中转实现 故稳定
  • 魔方机器人之下位机编程---------舵机控制

    1 春天180 舵机 SR 403P 信号线和控制线颜色对应关系 两黑一白 白色信号线 中间电源 另一黑色电源 以上MC9S12XS128单片机通道三产生的周期为20ms 高电平为1 5ms的舵机控制信号 void PWM Init voi
  • 如何查看端口被哪个进程占用(Windows/Linux)

    之前有写过Linux如何查看端口被占用 但是最近查看Window的端口占用情况比较多 两个系统均使用了netstat命令但是参数不同 所以新写一个笔记作为对比 Windos查看端口占用 netstat ano 这个命令可以显示本机所有端口占
  • SqlServer 通用修改字段类型(多表)

    起因 因为SqlServer 数据库不支持varchar 类型写入 韩文多语言 解决方式 修改varchar类型为 nvarchar 类型 nvarchar类型是占用两个字节 其他问题 1 SqlServer的主键最多900字节 所以不能将
  • StringTokenizer实现

    OO分析 识别对象 源字符串str 当前词起始指针start 扫描指针i 当前词word 基本互动关系 1 当前指针在str范围且是字符i lt str size str i 并且是第一个字符 i 0 或上一个字符是空格 str i 1 则
  • Java 使用socket实现向服务器端上传图片[TCP]

    整体思路其实和使用IO流进行文件拷贝类似 只不过这次涉及的流更多 1 图片属于二进制文件 所以采用字节流处理 2 源图片文件位于客户端主机的磁盘 所以我们需要通过本地IO 将其输入到内存 本地IO 3 然后将读入内存的文件通过socket的
  • 三台服务器es集群性能,es集群服务器配置

    es集群服务器配置 内容精选 换一换 CDM支持将本地自建的Redis数据库或者第三方的Redis服务数据迁移到分布式缓存服务 Distributed Cache Service 简称DCS 无需编程即可快速实现迁移 使用流程如下 创建CD
  • 苹果手机signin_iPhone手机弹出sign in to itunes store怎么办[图]

    iPhone手机弹出sign in to itunes store怎么办 想必有的亲们遇到了这种问题 那么是不是骗子呢 下面就由安族小编为您详细介绍介绍哦 iPhone弹出sign in to itunes store怎么办 容易模仿的弹出
  • python/备战蓝桥杯-快速排序

    for i in range 引自Python for i in range 用法详解 python 脚本之家 jb51 net 快速排序 nums 5 3 6 4 1 2 8 7 for i in range 1 len nums 遍历未
  • ScriptManager 控件概述

    原文 http msdn microsoft com zh cn library bb398863 aspx ScriptManager 控件管理支持 AJAX 的 ASP NET 网页的客户端脚本 默认情况下 ScriptManager