`
lovnet
  • 浏览: 6693383 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件

阅读更多

ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-PageContent-Page中需要引入不同的脚本时,这就需要在Content-page中使用ScriptManagerProxy,而不是ScriptManagerScriptManager ScriptManagerProxy 是两个非常相似的控件。

主要内容

1ScriptManagerProxy控件概述

2.简单示例

一.ScriptManagerProxy控件概述

ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有Master-Page的情况下,如果需要在Master-PageContent-Page中需要引入不同的脚本时,就需要在Content-page中使用ScriptManagerProxy,而不是ScriptManagerScriptManagerProxyScriptManager是两个非常相似的控件。简单定义形式如下:

<asp:ScriptManagerProxyid="ScriptManagerProxy1"runat="server">

<Services>

<asp:ServiceReferencePath="CalculWebService.asmx"/>

</Services>

</asp:ScriptManagerProxy>
在它下面可以添加的子标签有:ServicesScriptsAuthenticationServiceProfileService

二.简单示例

下面看一个简单的使用ScriptManagerProxy的例子。

1.首先我们准备两个WebService,在Master-Page中我们输入一个字符串,而在Content-Page中我们求两个数的和。

SimpleWebService.asmx.添加一个Master-Page,在它上面添加一个ScriptManager控件,并引入WebService SimpleWebService.asmx,并添加相应的HTML元素:.添加一个Content-Page,在它上面添加一个ScriptManagerProxy控件,并引入WebService CalculWebService.asmx,并添加相应的HTML元素:

[ScriptService]

publicclassSimpleWebService:System.Web.Services.WebService{

publicSimpleWebService(){

//Uncommentthefollowinglineifusingdesignedcomponents

//InitializeComponent();

}


[WebMethod]

publicstringEchoString(Strings)

{
return"Hello"+s;
}


}

CalculWebService.asmx

[ScriptService]

publicclassCalculWebService:System.Web.Services.WebService{

publicCalculWebService(){

//Uncommentthefollowinglineifusingdesignedcomponents

//InitializeComponent();

}



[WebMethod]

publicintAdd(inta,intb){

returna+b;
}

}

2

<div>

<asp:ScriptManagerID="ScriptManager1"runat="server">

<Services>

<asp:ServiceReferencePath="SimpleWebService.asmx"/>

</Services>

</asp:ScriptManager>

<asp:contentplaceholderid="ContentPlaceHolder1"runat="server">

</asp:contentplaceholder>

&nbsp;<h3>请输入名称:</h3>

<inputid="inputName"type="text"/>

<inputid="button"type="button"value="确定"onclick="returnOnbuttonGo_click()"/>

</div>

编写相应的JS代码:

<scripttype="text/javascript"language="JavaScript">

functionOnbuttonGo_click()

{
requestSimpleService
=SimpleWebService.EchoString(

document.getElementById('inputName').value,
//params

OnRequestComplete
//Completeevent

);

returnfalse;
}


functionOnRequestComplete(result)

{
alert(result);
}


</script>

3

<div>

<asp:ScriptManagerProxyid="ScriptManagerProxy1"runat="server">

<Services>

<asp:ServiceReferencePath="CalculWebService.asmx"/>

</Services>

</asp:ScriptManagerProxy>

<h3>请输入两个数:</h3>&nbsp;<inputid="inputA"type="text"style="width:110px"/>&nbsp;+&nbsp;

<inputid="inputB"style="width:110px"type="text"/>&nbsp;

<inputid="buttonEqual"type="button"value="="onclick="returnOnbuttonEqual_click()"/>

</div>

编写相应的JS代码:

<scripttype="text/javascript"language="JavaScript">

functionOnbuttonEqual_click()
{
requestSimpleService
=CalculWebService.Add(

document.getElementById('inputA').value,
//params

document.getElementById('inputB').value,
//params

OnRequestComplete
//Completeevent

);

returnfalse;
}


functionOnRequestComplete(result)

{
alert(result);
}


</script>
4
.运行后界面如下:

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype>

测试Master-Page中的Web Service

测试Content-Page中的Web Service

关于ScriptManagerProxy就介绍到这儿,有个问题就是在我的IDE中为什么ScriptManagerProxy总是提示为未知元素,但运行起来并不抱错,结果也可以出来?

分享到:
评论

相关推荐

    ASP.NET AJAX入门系列:使用ScriptManagerProxy控件.docx

    ASP.NET AJAX入门系列:使用ScriptManagerProxy控件.docxASP.NET AJAX入门系列:使用ScriptManagerProxy控件.docx

    ASP.NET_AJAX入门系列

    ASP.NET_AJAX入门系列:使用ScriptManagerProxy控件.doc ASP.NET_AJAX入门系列:使用ScriptManager控件.doc ASP.NET_AJAX入门系列:使用UpdatePanel控件.doc ASP.NET_AJAX入门系列:使用客户端脚本对UpdateProgress...

    ASP.NET AJAX

    ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件 导读:在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同...

    ASP.NET-AJAX教程.rar

    第三章:使用ScriptManagerProxy控件 第九章:在母版页中使用UpdatePanel 第四章:使用UpdatePanel控件(一) 第十章:Timer控件简单使用 第五章:使用UpdatePanel控件(二) 第十一章:在多个UpdatePanle中使用...

    ASP.NET AJAX实战源码

    4.1 ASP.NET开发人员的Ajax 86 4.2 改进原有ASP.NET网站 87 4.2.1 一个示例ASP.NET网站 88 4.2.2 配置现有的ASP.NET网站 88 4.3 ScriptManager: Ajax页面的大脑 90 4.3.1 理解ScriptManager 90 4.3.2 部署...

    完全手册:ASP.net Ajax电子教程(9-15章)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    完全手册:ASP.net Ajax电子教程(1-8章)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    ASP.NET AJAX重要的基本五控件

    ASP.NET AJAX(ScriptManager,ScriptManagerProxy,UpdatePanel,UpdateProgress,Timer),文档及单个AJAX控件的使用方法示例等

    完全手册ASP.NETAjax实用开发详解(14-15)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    完全手册ASP.NETAjax实用开发详解(1-6)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    完全手册ASP.NETAjax实用开发详解(12-13)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    完全手册ASP.NETAjax实用开发详解(7-8)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    完全手册ASPNETAjax 实用开发详解(9-11)

     1.7.3 使用ScriptManagerProxy控件  1.7.4 弹出AJAX环境中对话框  1.8 ASP.NET AJAX Control Toolkit  1.8.1 ASP.NET AJAX Control Toolkit概述  1.8.2 安装ASP.NET AJAX Control Toolkit  1.8.3 导入ASP.NET...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    14.3.2 ScriptManagerProxy控件 14.3.3 UpdatePanel控件 14.3.4 UpdateProgress控件 14.3.5 Timer控件 14.4 本章小结 实践篇 第15章 个人网站初学者工具包 15.1 个人网站初学者工具包概述及创建 15.2 系统...

    ASP.NET AJAX 1.0 RC开发10分钟图解

    开发环境:VS2005+ASP.NET AJAX 1.0 RC ...2.可以看到左侧工具箱多了一个AJAX Extensions,下面包括Timer,ScriptManager,ScriptManagerProxy,UpdateProgress,UpdatePanel等几个控件,右侧的代码视图,可以看到

    ASP.NET Night Words

    13.3.2 scriptmanagerproxy控件 255 13.3.3 updatepanel控件 255 13.3.4 timer控件 259 13.3.5 updateprogress控件 260 13.4 总结 265 第14章 分布式开发 266 14.1 分布式计算的概念 266 14.2 xml web ...

    ASPAJAXExtSetup.msi

    AJAX Extensions 核心组件,主要包括的控件:ScriptManager,UpdatePanel,UpdateProgress,Timer和ScriptManagerProxy

    GridView、UpdatePanel、UpdateProgress、Timer示例

    主要演示了Asp.net2.0中ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer控件的使用 另外客户端脚本编程的命名空间,类,成员,接口,继承,枚举 实践开发用AJAX让GridView的行显示提示框 每个...

Global site tag (gtag.js) - Google Analytics