RSS
热门关键字:  Linux  图形  项目管理  LAMP  java
当前位置 : 主页>开源技术>AJAX技术>列表

ASP.NET AJAX入门系列(2):使用ScriptManager控件

来源:中国开源社区 作者:sherman 时间:2007-09-18 点击:

五.Services属性 字串2

Services用来管理对WebService的调用,通过<asp:ServiceReference>标签可以在Services中注册一个WebService,在运行时ScriptManager将为每一个ServiceReference对象生成一个客户端代理,<asp:ServiceReference>标签一个很重要的属性是Path,用来指定WebService的路径,如下所示: 字串8

<asp:ScriptManager ID="SM1" runat="server">

    
<Services>
字串9


        
<asp:ServiceReference Path="Service.asmx"/>

    
</Services>

</asp:ScriptManager>

看一个简单的调用WebService的例子: 字串2

WebService如下,注意在WebServiceSample上加ScriptService特性:页面:

字串8

[ScriptService]

public class WebServiceSample : System.Web.Services.WebService {
字串4


    
public WebServiceSample()

    
{

字串7



        
//Uncomment the following line if using designed components 

        
//InitializeComponent(); 

    }


字串3

    [WebMethod]

    
public string EchoString(String s)

    
{

字串1


        
return "Hello " + s;
    }


}

ASPX

字串2

字串9

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

字串9



<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    
<title>Untitled Page</title> 字串9

</head>

<script type="text/javascript" language="JavaScript"> 字串2

    
function OnbuttonGo_click() 

    
{

字串5


        requestSimpleService 
= WebServiceSample.EchoString(

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

            OnRequestComplete    
//Complete event

字串5



            );

        
return false;
    }


    
function OnRequestComplete(result)  字串8

    
{ 字串4
        alert(result);
    }


</script>

<body>

    
<form id="form1" runat="server"> 字串8

    
<asp:ScriptManager ID="ScriptManager1" runat="server">

        
<Services>

            
<asp:ServiceReference Path="WebServiceSample.asmx"/> 字串4

        
</Services>

    
</asp:ScriptManager>

    
<div>
字串2

        
<input type="text" id="inputName" size=20/>

        
<input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div> 字串3

    
</form>

</body>

</html>

运行后效果如下: 字串2

字串7

当然了也可以在运行时动态的在Services中加入ServiceReference,下面看一个运行时动态加入ServiceReference的例子: 字串4

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> 字串7

<script runat="server"> 字串4

    
void Page_Load(object sender, EventArgs e)

    
{

字串3



        ServiceReference sr 
= new ServiceReference();

        sr.Path 
= "WebServiceSample.asmx";
字串8


        ScriptManager1.Services.Add(sr);

    }


</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
字串2


<head runat="server">

    
<title>Untitled Page</title>

</head> 字串3

<script type="text/javascript" language="JavaScript">
字串7


    
function OnbuttonGo_click() 

    
{ 字串9

        requestSimpleService 
= WebServiceSample.EchoString(

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

            OnRequestComplete    
//Complete event

字串4



            );

        
return false;

    }

字串1
 

    
function OnRequestComplete(result) 

    
{

字串2



        alert(result);

    }


</script>

 

<body> 字串9

    

    
<form id="form1" runat="server">

    
<asp:ScriptManager ID="ScriptManager1" runat="server"> 字串2

    
</asp:ScriptManager>

    
<div>

        
<input type="text" id="inputName" size=20/> 字串8

        
<input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div>

    
</form>

字串7



</body>

</html>

可以看到运行后和在ScriptManager中直接加入的效果是一样的。 字串8

字串7

  字串7

六.Scripts属性 字串2

关于Scripts属性到后面具体再说吧,最主要的属性有Path指定脚本的路径,ScriptMode指定客户端脚本的模式,它会覆盖ScriptManager中的ScriptMode属性,还有一个属性是IgnoreScriptPath,指定是否忽略掉ScriptManager中的ScriptPath属性。 字串7

关于ScriptManager控件就学习到这里了,至于AuthenticationService属性和ProfileService属性都很简单。

示例代码下载:http://www.cnblogs.com/Files/Terrylee/ASPNETAJAXScriptManagerDemo.rar
字串3

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册