资料中如实是说: 1, ScriptManager(脚本控制器)是asp.net ajax存在的基础.2, 一个页面只允许有一个ScriptManager,并且放在其他ajax控件的前面.3,ScriptManager掌管着客户端Ajax页的多有脚本,并在页面中注册Ajax类库,用来实现页面的局部更新和对Web服务的调用.
下面是scriptManager的结构:下面介绍下ScriptManager的几个属性和一些子元素a, EnablePartialRendering: (默认局部渲染)比较重要,用来表示此页面是否允许局部刷新(默认为true)b, AllowCustomErrorsRedirect :当发生错误时候,是否导航到web.config中定义的错误页面,如果设置为false,则使用AsyncPostBackErrorMessage和OnAsyncPostBackError提示错误.c, AsyncPostBackErrorMessage: 异步调用发生错误时的提示信息.d, OnAsyncPostBackError: 异步调用发生错误时的事件e, AsyncPostBackTimeOut: 异步调用的有效时间 默认为 90秒f, AuthenticationService: 用来表示提供验证服务的路径.g, ProfileService    表示提供个性化服务的路径h, Scripts    对脚本的调用,可以恰套多个ScriptReference摸板对多个脚本文件的调用i,  Service   对服务的调用 也可以恰套多个ServiceReference摸板以实现多个服务的引用下面简单介绍下上面属性的基本使用格式:调用脚本文件:脚本语言我们可以直接写在页面的<script></script> 元素内
也可以使用注册方式在页面的head中
<script type="text/javascript" src=""> <script>
在ajax技术中也提供了一种注册方式,
<asp:ScriptManager ID="ScriptManager" runat="server"><Scripts><asp:ScriptReference Path="" />       <Scripts>
</asp:ScriptManager>  从<Scripts>来看,它可以多个js文件,如果单能实现这个功能觉得微软有点话蛇添足,它的主要用途是调用ajax中已经存在的Javascrtpt脚本文件.如:
<asp:ScriptManager runat="server" ID="scriptManager"><Scripts><asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewScript.js"  /><ssp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewDragDrop.js />
</asp:ScriptManager>调用Web ServiceScriptManager的主要作用就是在客户端 调用一些服务器的代码,比较常用的就是将web service注册在客户端,从而可以用javascript脚本中实现对web service的调用下面使用俩个例子说明对web service中方法的调用:
页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title>无标题页</title></head>
<body><form id="form1" runat="server"><div><input type="text" id="txtName" /><input type="button" value="带参数的web service方法调用" onclick="ReferencSercviceMethod2()" /><input type="button" value="不带参数的web service方法调用" onclick="ReferenceServiceMethod1()" /></div><asp:ScriptManager ID="ScriptManager1" runat="server"><Services><asp:ServiceReference Path="WebServiceTest.asmx" /></Services><Scripts><asp:ScriptReference Path="Script/JScript.js" /></Scripts></asp:ScriptManager></form>
</body>
</html>js代码:
function ReferenceServiceMethod1(){WebServiceTest.HelloWorld(GetResult);
}
function GetResult(result){alert(result);
}function ReferencSercviceMethod2(){WebServiceTest.SayHelloWorld(document.getElementById("txtName").value,GetResult);
}web service代码:
using System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;/// <summary>
///WebServiceTest 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//这句一定要加上
[System.Web.Script.Services.ScriptService]
public class WebServiceTest : System.Web.Services.WebService {public WebServiceTest () {//如果使用设计的组件,请取消注释以下行 //InitializeComponent(); }[WebMethod]public string HelloWorld() {return "Hello World";}[WebMethod]public string SayHelloWorld(string name){return "Hello World " + name;}}下面简单介绍下用scriptManager的动态注册一个web service可以删除掉上面页面代码中<Services></Services>段在page的代码的load事件中加入下面代码:protected void Page_Load(object sender, EventArgs e){ServiceReference service = new ServiceReference("WebServiceTest.asmx");ScriptManager1.Services.Add(service);}OnAsyncPostBackError的使用在scriptManager中可以捕获局部更新失败的错误,OnAsyncPostError表示当回发处理发生错误时的事件
AsyncPostBackMessage表示发生错误时的提示信息。
页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title>无标题页</title></head>
<body><form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server" onasyncpostbackerror="ScriptManager1_AsyncPostBackError"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><asp:Button ID="Button1" runat="server" Text="触发错误按钮" onclick="Button1_Click" /></ContentTemplate></asp:UpdatePanel></form>
</body>
</html>cs文件代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;public partial class _Default : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){try{(int.Parse("") + 1).ToString();}catch ( Exception  ex){ex.Data["ExtraInfo"] = "类型转换错误!";throw ex;}}protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e){if (e.Exception.Data["ExtraInfo"] != null){ScriptManager1.AsyncPostBackErrorMessage = e.Exception.Message + "---注意";}else{ScriptManager1.AsyncPostBackErrorMessage = "其他原因导致运行失败";}}
}

ScriptManager的简单用法-ASP.Net 中ASP:ScriptManager控件的使用相关推荐

  1. ASP.NET中 Calendar(日期控件)的使用

    ylbtech-ASP.NET-Control-Basic:Calendar(日期控件)的使用 ASP.NET中 Calendar(日期控件)的使用. 1.A,运行效果返回顶部 Calendar(日期 ...

  2. asp.net中显示DataGrid控件列序号的几种方法

    在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值 ...

  3. Asp.net中服务端控件事件是如何触发的(笔记)

    Asp.Net 中在客 户端触发服务器端事件分为两种情况: 一.   WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton 这两 ...

  4. ASP.NET中的AdRotator控件即广告控件的使用

    场景 ASP.NET中新建Web网站并部署到IIS上(详细图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199 ...

  5. Asp.net中使用ActiveX控件

    在asp.net项目项目中,使用了一个第三方的没有签名的ActiveX控件,代码如下: <SCRIPT LANGUAGE="JavaScript"> function ...

  6. ASP.NET中的Menu控件的应用

    1.首先建立一个Default.aspx的主页面,再建立一个站点地图:Web.sitemap 2.Default.aspx的主页面的设计 <%@ Page Language="C#&q ...

  7. 在ASP.NET中使用ListView控件对数据进行显示、分页和排序

    最终效果图如下所示: 使用ListView控件是不需要写代码的,下面我们来看一下ListView的操作流程: 1.首先新建一个ASP窗体 2.然后拖入一个ListView和一个SqlDataSourc ...

  8. ASP.NET 中获取html控件的值的方法

    一.知识点: 1.name是用来提交数据的,提供给表单用,可以重复:  2.id则针对文档操作时候用,不能重复.如:document.getElementById():   document.getE ...

  9. 解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”

    首先经过错误提示看出需要保存路径之类的,所以猜测是不是配置文件出错了.看了一下配置文件只有连接字符串的配置.后来重新把vs2010关了重新打开,又新建了一个页面,重新添加空间然后运行使用.然后再看配置 ...

  10. 设置ASP.NET中的TextBox控件不缓存上次输入的信息

    TextBox添加属性AutoComplete="Off",需要自己手写,ASP.NET没有智能提示. 转载于:https://www.cnblogs.com/jRoger/arc ...

最新文章

  1. 【优达学城测评】SELECT 子句(6)
  2. 创建ROS消息和服务---ROS学习第8篇
  3. python 拼音姓名排序_Python一秒将全部中文姓名转为拼音!
  4. Python -itertools模块combinations方法
  5. 利用javascript实现简体与繁体的转换
  6. 【ARM】在Uboot中运行第一个汇编程序
  7. C#得到CPU的序列号、硬盘序列号、网卡序列号
  8. python最大值_Python 获取最大值函数|python3教程|python入门|python教程
  9. 前端学习(2325):angular之添加新组件
  10. C++语言中multiset的相关用法及扩展
  11. Learning Shape Priors for Single-View 3D Completion and Reconstruction
  12. Keil5的仿真调试
  13. Characterizing stochastic time series with ordinal networks
  14. java epub 删除一页_java如何实现批量删除pdf指定的页数
  15. 强烈推荐《全景探秘游戏设计艺术》
  16. PaddlePaddle:CNN对Cifar10图像分类(1)
  17. Python爬取招聘网站岗位信息
  18. 《秘密》-- 东野圭吾
  19. JAVA BufferedWriter的newLine方法
  20. 浏览器弹出“www.osint.com”并且导航到毒霸问题解决

热门文章

  1. python 请在微信客户端打开_如何实现‘请在微信客户端打开链接’
  2. 高质量伪原创怎么做(文章做伪原创的方法有哪些)
  3. python+selenium 浏览器驱动下载
  4. 怎样用电脑抠图换背景?抠图怎么把背景变透明?
  5. qnap plex安装_如何在Apple TV上安装Plex
  6. usbview 源码结构分析
  7. 同城信息本地生活服务小程序源码+完整前后端+搭建教程
  8. 按键精灵+ bluestacks+winsip模拟对讲
  9. postgresql使用过程中字段转换
  10. 爱思考CISP基本介绍