微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ScriptManager 以及ScriptManagerProxy Service属性的使用

 

VS2008中,有些是和VS2005有区别的:

1.       创建项目选择”ASP.NET Web Site” ,而不是 “ASP.NET Web Application”,后者添加WebService文件后台代码不会放在App_Code中,导致前台脚本访问WebService中的方法的时候,会出现” WebService未定义错误

2.       VS2008中使用母版页的时候,要把ScriptManager 添加在表单里,且不能添加ContentPlaceHolder中,这个是使用拖放控件常犯的错误

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

   <div>

          

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

                <Services>

                    <asp:ServiceReference Path="~/WebService.asmx" />

                </Services>

            </asp:ScriptManager>

          

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

        </asp:ContentPlaceHolder>

    </div>

    </form>

添加内容页后,页面自动生成

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

</asp:Content>

我们在内容页使用ajax时,要添加ScriptManagerProxy

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

</asp:Content>

中。

ScriptManager 以及ScriptManagerProxy  Service属性的使用:

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

                <Services>

                    <asp:ServiceReference Path="~/WebService.asmx" />

                </Services>

            </asp:ScriptManager>

2.       WebService.asmx这里是创建的Web Service

VS2005自动给我们生成了许多代码,当要允许使用 ASP.NET AJAX 从脚本中调用 Web 服务,就把下行的注释给取消了就行了。不用在添加命名空间的引用。

[System.Web.Script.Services.ScriptService]

3.       脚本调用WebService

 

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

// <!CDATA[

 

function btnAdd_onclick() {

    requestSampleService = WebService.Add(

        document.getElementById("txtName").value,   //属性

        onRequestComplete    //回调结束

    );

    return false;

}

 

function onRequestComplete(result)

{

    alert(result);

}

// ]]>

 

注:WebService是创建的WebService的类名,我们调用的是它的Add()方法,其中包含一个参数。

4.       浏览,OK

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐