在.net中創建ajax程序出現'Sys' is undefined的解決方法

1. 在創建項目時,選擇創建"ASP.NET AJAX-Enabled Web Application";

2. 在程序中的ajax控件中要用到的WebService, WebService的開頭必須是這樣

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    //[ToolboxItem(false)]

    [System.Web.Script.Services.ScriptService]

 

全部代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AJAXEnabledWebApplication1._Default" %>



<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



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

<head runat="server">

    <title>Untitled Page</title>

</head>

<body>

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

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

    <div>

        <table>

            <tr>

                <td>

                </td>

                <td>

                </td>

                <td style="width: 637px">

                    <asp:Button ID="Button1" runat="server" Text="Button" />

                    

                </td>

            </tr>

            <tr>

                <td>

                </td>

                <td>

                </td>

                <td style="width: 637px">

                    <asp:TextBox ID="txtState" runat="server" autocomplete="off"></asp:TextBox>

                    

                    <ajaxToolkit:AutoCompleteExtender

                        runat="server" 

                        ID="autoComplete1" 

                        TargetControlID="txtState"

                        ServicePath="TestWS.asmx" 

                        ServiceMethod="GetCompletionList"

                        MinimumPrefixLength="2" 

                        CompletionInterval="1000"

                        EnableCaching="true"

                        CompletionSetCount="12" />

                    

                    <script type="text/javascript">

                        // Work around browser behavior of "auto-submitting" simple forms

                        var frm = document.getElementById("form1");

                        if (frm) {

                            frm.onsubmit = function() { return false; };

                        }

                    </script>

                    <%-- Prevent enter in textbox from causing the collapsible panel from operating --%>

                    <input type="submit" style="display:none;" />

                </td>

            </tr>

            <tr>

                <td>

                </td>

                <td>

                </td>

                <td style="width: 637px">

                </td>

            </tr>

        </table>

    

    </div>

    </form>

</body>

</html>
 
WebService代碼:
using System;

using System.Data;

using System.Web;

using System.Collections;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.ComponentModel;

using System.Collections.Generic;



namespace AJAXEnabledWebApplication1

{

    /// <summary>

    /// TestWS 的摘要說明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    //[ToolboxItem(false)]

    [System.Web.Script.Services.ScriptService]



    public class TestWS : System.Web.Services.WebService

    {



        [WebMethod]

        public string HelloWorld()

        {

            return "Hello World";

        }



        [WebMethod]

        public string[] GetState(string prefixText, int count)

        {

            ArrayList al = new ArrayList();

            al.Add("ABCDEFG0");

            al.Add("ABCDEFG1");

            al.Add("ABCDEFG2");

            al.Add("ABCDEFG3");

            al.Add("ABCDEFG4");

            al.Add("ABCDEFG5");

            al.Add("ABCDEFG6");

            al.Add("ABCDEFG7");

            al.Add("ABCDEFG8");



            return (string[])al.ToArray(typeof(string));

        }



        [WebMethod]

        public string[] GetCompletionList(string prefixText, int count)

        {

            if (count == 0)

            {

                count = 10;

            }



            if (prefixText.Equals("xyz"))

            {

                return new string[0];

            }



            Random random = new Random();

            List<string> items = new List<string>(count);

            for (int i = 0; i < count; i++)

            {

                char c1 = (char)random.Next(65, 90);

                char c2 = (char)random.Next(97, 122);

                char c3 = (char)random.Next(97, 122);



                items.Add(prefixText + c1 + c2 + c3);

            }



            return items.ToArray();

        }

    }

}

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章