天天看點

.net Ajax系列(2)調用多Web Service

scriptManager的多服務調用和ScriptManagerProxy調用WebService

1)  母版頁

添加母版頁,并向頁添加ScriptManager,為它添加2個ws引用(多服務引用)

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

        <Services>

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

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

        </Services>

</asp:ScriptManager>

兩個WS如下:

[ScriptService]

public class selfWS : System.Web.Services.WebService {

[WebMethod]

public string ShowName(string s)

{

        return "This's your name:" + s;

}

//=======================================================

public class ThirdWs : System.Web.Services.WebService {

    [WebMethod]

    public string HelloWorld() {

        return "the third ws showing";

    }

2)   母版頁添加對兩個WS的方法調用。

<input type="button" value="MasterClick" onclick="showName()" />

<input type="button" value="ThirdClick" onclick="showThird()" />

<script>

        function showName()

        {

            selfWS.ShowName("master",showww);

        }

        function showww(result)

            alert(result);

        function showThird()

            ThirdWs.HelloWorld(

            function success(result)

            {

                alert(result);

            }

            );

</script>

3)   新加子頁,啟用這個母版

點選2個按鈕,測試完成。

4)   在這個子頁中添加ScriptManagerProxy,同時為其添加對另一個WS的引用

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">

    <Services>

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

    </Services>

</asp:ScriptManagerProxy>

此WS的内容如下:

public class SelfWSs : System.Web.Services.WebService {

    public string ShowNamess(string str1,string str2)

    {

        return "this is no Master Name:"+str1+str2;

    }

5)   預覽完成。

備注:此示例有以下幾個點:

母版頁(或ScriptManager)對多個WS的引用并調用它們的方法;

對已經啟動帶有ScriptManager的母版頁的子頁來說,如果調用其它WS的方法;

調用WS的參數問題。

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園

繼續閱讀