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,而不是ScriptManagerScriptManagerProxy和 ScriptManager是两个非常相似的控件。简单定义形式如下:

ScriptManagerProxy控件 < asp:ScriptManagerProxy  id ="ScriptManagerProxy1"  runat ="server" >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< Services >
ScriptManagerProxy控件
ScriptManagerProxy控件                
< asp:ServiceReference  Path ="CalculWebService.asmx"   />
ScriptManagerProxy控件
ScriptManagerProxy控件     
</ Services >
ScriptManagerProxy控件
ScriptManagerProxy控件
</ asp:ScriptManagerProxy >
在它下面可以添加的子标签有:ServicesScriptsAuthenticationServiceProfileService

二.简单示例

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

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

SimpleWebService.asmx

ScriptManagerProxy控件 [ScriptService]
ScriptManagerProxy控件
ScriptManagerProxy控件
public   class  SimpleWebService : System.Web.Services.WebService  {
ScriptManagerProxy控件
ScriptManagerProxy控件    
public SimpleWebService () {
ScriptManagerProxy控件
ScriptManagerProxy控件        
//Uncomment the following line if using designed components 
ScriptManagerProxy控件
ScriptManagerProxy控件        
//InitializeComponent(); 
ScriptManagerProxy控件

ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件    [WebMethod]
ScriptManagerProxy控件
ScriptManagerProxy控件    
public string EchoString(String s)
ScriptManagerProxy控件
ScriptManagerProxy控件    
{
ScriptManagerProxy控件        
return "Hello " + s;
ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件}

CalculWebService.asmx

ScriptManagerProxy控件 [ScriptService]
ScriptManagerProxy控件
ScriptManagerProxy控件
public   class  CalculWebService : System.Web.Services.WebService  {
ScriptManagerProxy控件
ScriptManagerProxy控件    
public CalculWebService () {
ScriptManagerProxy控件
ScriptManagerProxy控件        
//Uncomment the following line if using designed components 
ScriptManagerProxy控件
ScriptManagerProxy控件        
//InitializeComponent(); 
ScriptManagerProxy控件

ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件
ScriptManagerProxy控件    [WebMethod]
ScriptManagerProxy控件
ScriptManagerProxy控件    
public int Add(int a,int b) {
ScriptManagerProxy控件
ScriptManagerProxy控件        
return a + b;
ScriptManagerProxy控件    }

ScriptManagerProxy控件}

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

ScriptManagerProxy控件 < div >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< asp:ScriptManager  ID ="ScriptManager1"  runat ="server"   >
ScriptManagerProxy控件
ScriptManagerProxy控件        
< Services >
ScriptManagerProxy控件
ScriptManagerProxy控件            
< asp:ServiceReference  Path ="SimpleWebService.asmx"   />
ScriptManagerProxy控件
ScriptManagerProxy控件        
</ Services >
ScriptManagerProxy控件
ScriptManagerProxy控件    
</ asp:ScriptManager >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< asp:contentplaceholder  id ="ContentPlaceHolder1"  runat ="server" >
ScriptManagerProxy控件
ScriptManagerProxy控件    
</ asp:contentplaceholder >
ScriptManagerProxy控件
ScriptManagerProxy控件    
&nbsp; < h3 > 请输入名称: </ h3 >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< input  id ="inputName"  type ="text"   />
ScriptManagerProxy控件
ScriptManagerProxy控件    
< input  id ="button"  type ="button"  value ="确 定"  onclick ="return OnbuttonGo_click()"   />
ScriptManagerProxy控件
ScriptManagerProxy控件
</ div >

编写相应的JS代码:

ScriptManagerProxy控件 < script  type ="text/javascript"  language ="JavaScript" >
ScriptManagerProxy控件
ScriptManagerProxy控件    
function OnbuttonGo_click() 
ScriptManagerProxy控件
ScriptManagerProxy控件    
{
ScriptManagerProxy控件        requestSimpleService 
= SimpleWebService.EchoString(
ScriptManagerProxy控件
ScriptManagerProxy控件            document.getElementById('inputName').value,       
//params
ScriptManagerProxy控件

ScriptManagerProxy控件            OnRequestComplete    
//Complete event
ScriptManagerProxy控件

ScriptManagerProxy控件            );
ScriptManagerProxy控件
ScriptManagerProxy控件        
return false;
ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件    
function OnRequestComplete(result) 
ScriptManagerProxy控件
ScriptManagerProxy控件    
{
ScriptManagerProxy控件        alert(result);
ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件
</ script >

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

ScriptManagerProxy控件 < div >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< asp:ScriptManagerProxy  id ="ScriptManagerProxy1"  runat ="server" >
ScriptManagerProxy控件
ScriptManagerProxy控件        
< Services >
ScriptManagerProxy控件
ScriptManagerProxy控件                    
< asp:ServiceReference  Path ="CalculWebService.asmx"   />
ScriptManagerProxy控件
ScriptManagerProxy控件         
</ Services >
ScriptManagerProxy控件
ScriptManagerProxy控件    
</ asp:ScriptManagerProxy >
ScriptManagerProxy控件
ScriptManagerProxy控件    
< h3 > 请输入两个数: </ h3 > &nbsp; < input  id ="inputA"  type ="text"  style ="width: 110px"   /> &nbsp; + &nbsp;
ScriptManagerProxy控件
ScriptManagerProxy控件    
< input  id ="inputB"  style ="width: 110px"  type ="text"   /> &nbsp;
ScriptManagerProxy控件
ScriptManagerProxy控件    
< input  id ="buttonEqual"  type ="button"  value =" = "   onclick ="return OnbuttonEqual_click()" />
ScriptManagerProxy控件
ScriptManagerProxy控件
</ div >

编写相应的JS代码:

ScriptManagerProxy控件 < script  type ="text/javascript"  language ="JavaScript" >
ScriptManagerProxy控件
ScriptManagerProxy控件    
function OnbuttonEqual_click() 
ScriptManagerProxy控件    
{
ScriptManagerProxy控件        requestSimpleService 
= CalculWebService.Add(
ScriptManagerProxy控件
ScriptManagerProxy控件            document.getElementById('inputA').value,       
//params
ScriptManagerProxy控件

ScriptManagerProxy控件            document.getElementById('inputB').value,       
//params
ScriptManagerProxy控件

ScriptManagerProxy控件            OnRequestComplete    
//Complete event
ScriptManagerProxy控件

ScriptManagerProxy控件            );
ScriptManagerProxy控件
ScriptManagerProxy控件        
return false;
ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件    
function OnRequestComplete(result) 
ScriptManagerProxy控件
ScriptManagerProxy控件    
{
ScriptManagerProxy控件        alert(result);
ScriptManagerProxy控件    }

ScriptManagerProxy控件
ScriptManagerProxy控件
</ script >

你可能感兴趣的:(manager)