请教高手:系统使用的是ajax beta版的, ScriptManager 竟然没有EnablePageMethods方法,现在需要调用Web Service的方法,请问如何实现?

解决方案 »

  1.   

    Ajax五大核心组件(个人总结)
    在调用之前需要指定WebService的(路径) Scriptmanager的path属性可以通过 Scriptmanager调用js脚本和WebService======调用js======<!--设置js路径--><asp:ScriptManager ID="ScriptManager1" runat="server">
            <Scripts>
            <asp:ScriptReference Path="js/hello.js" />
            </Scripts>
      </asp:ScriptManager>   
        <!--放置的HTML控件调用外部js -->
            <input id="Button1" type="button" value="调用js" onclick=" Hello()" />======调用WebService====== <!--设置WebServices路径-->
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="WebService.asmx" />
            </Services>
            </asp:ScriptManager><!--调用WebService的js-->//
     <script type="text/javascript">
            function CallBack()
            {
                WebService.HelloWorld(GetValue);
            }
            function GetValue(val)
            {
               document.write(val);
            }          
        </script>
      

  2.   

    在WebService里面写上这个:   [System.Web.Script.Services.ScriptService]  
      

  3.   

    谢谢!
    我现在是想使用AutoComplete控件,请问如何实现?
    代码如下:<asp:ScriptManager ID="scriptmanager1" runat="server" EnablePageMethods="true">        
    </asp:ScriptManager>
    <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
        <cc1:AutoCompleteExtender 
            ID="AutoCompleteExtender1" 
            runat="server" 
            TargetControlID="TextBox1"
            ServiceMethod="GetCompletionList"
            ServicePath="ToolkitTestService.asmx"
            MinimumPrefixLength="1" 
            EnableCaching="true"
            CompletionSetCount="5" 
            CompletionInterval="100" 
            /> 
      

  4.   

    应为没有beta版的ajax没有EnablePageMethods属性,所以该怎么实现呢?
      

  5.   


    WebServiceusing System;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;using System.Data;
    using System.Data.SqlClient;
    /// <summary>
    /// WebService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService {    public WebService () {        //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }    [WebMethod]
        public string[] GetData(string prefixText,int count)//这里的参数必须固定
        {
            SqlConnection conn = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=;");
            string Str = "select CompanyName from Customers where CompanyName like '" + prefixText + "%' order by CompanyName ";
            SqlDataAdapter sda = new SqlDataAdapter(Str,conn);
            DataSet ds=new DataSet();
            sda.Fill(ds,"com");        string[] temp=new string[ds.Tables["com"].Rows.Count];
            for(int i=0;i<ds.Tables["com"].Rows.Count;i++)
            {
                temp[i] = ds.Tables["com"].Rows[i]["CompanyName"].ToString();
            }        return temp;
        }}
    在页面设置AutoComplete控件的Tag....ID属性
    然后TextBox就多了个属性
      

  6.   

    谢谢,我的只能看到TextBox多了一个 属性AutoCompleteType,不知道如何设置,有可选值“BusinessCity、BusinessCountryRegion、Search……”
      

  7.   

    而且,asp:ScriptManager 没有 EnablePageMethods 属性可以设置