zoukankan      html  css  js  c++  java
  • ajax浅析---ScriptManagerProxy

    使用ScriptManagerProxy控件

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

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

        
    <Services>

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

         
    </Services>

    </asp:ScriptManagerProxy>

    在它下面可以添加的子标签有:ServicesScriptsAuthenticationServiceProfileService

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

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

    SimpleWebService.asmx

    [ScriptService]

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

        public SimpleWebService () {

            //Uncomment the following line if using designed components 

            //InitializeComponent(); 

        }

        [WebMethod]

        public string EchoString(String s)

        {
            return "Hello " + s;
        }

    }

    CalculWebService.asmx

    [ScriptService]

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

        public CalculWebService () {

            //Uncomment the following line if using designed components 

            //InitializeComponent(); 

        }


        [WebMethod]

        public int Add(int a,int b) {

            return a + b;
        }
    }
     

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

    <div>

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

            <Services>

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

            </Services>

        </asp:ScriptManager>

        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

        </asp:contentplaceholder>

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

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

        <input id="button" type="button" value="确 定" onclick="return OnbuttonGo_click()" />

    </div>

    编写相应的JS代码:

    <script type="text/javascript" language="JavaScript">

        function OnbuttonGo_click() 

        {
            requestSimpleService = SimpleWebService.EchoString(

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

                OnRequestComplete    //Complete event

                );

            return false;
        }

        function OnRequestComplete(result) 

        {
            alert(result);
        }

    </script>

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

    <div>

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

            <Services>

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

             </Services>

        </asp:ScriptManagerProxy>

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

        <input id="inputB" style=" 110px" type="text" />&nbsp;

        <input id="buttonEqual" type="button" value=" = "  onclick="return OnbuttonEqual_click()"/>

    </div>

    编写相应的JS代码:

     

    <script type="text/javascript" language="JavaScript">

        function OnbuttonEqual_click() 
        {
            requestSimpleService = CalculWebService.Add(

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

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

                OnRequestComplete    //Complete event

                );

            return false;
        }

        function OnRequestComplete(result) 

        {
            alert(result);
        }

    </script>
  • 相关阅读:
    希腊字母写法
    The ASP.NET MVC request processing line
    lambda aggregation
    UVA 10763 Foreign Exchange
    UVA 10624 Super Number
    UVA 10041 Vito's Family
    UVA 10340 All in All
    UVA 10026 Shoemaker's Problem
    HDU 3683 Gomoku
    UVA 11210 Chinese Mahjong
  • 原文地址:https://www.cnblogs.com/luyujie/p/3259420.html
Copyright © 2011-2022 走看看