天天看點

前台調用WebServices的方法

當在解決方案/項目下建立WebServices時,會在AppCode檔案夾内生成相對應的.cs類

一. 在.cs檔案中寫方法:

  首先要将 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 由注視狀态釋放掉。

   目的:  //若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。

  寫一個要使用的方法

[WebMethod]

    //按不同的方式搜尋書籍

    public string[] GetSearchType(string prefixText, int count, string contextKey)

    {

        SqlConnection conn = new SqlConnection("server=.;database=DB2DB;uid=sa;pwd=");

        string sqlStr = "";

        string key = "";

        switch (contextKey)

        {

            case "0":

                key = "Book_Name";

                sqlStr = "select top " + count + " Book_Name from Books where Book_Name like '%" + prefixText + "%'";

                break;

            case "1":

                key = "Book_Author";

                sqlStr = "select top " + count + " Book_Author from Books where Book_Author like '%" + prefixText + "%'";

                break;

            case "2":

                key = "Book_Publicationda";  //按出版日期

                sqlStr = "select top " + count + " Book_Publicationda from Books where Book_Publicationda like '%" + prefixText + "%'";

                break;

            case "3":

                key = "PublishName";  //按出版社

                sqlStr = "select top " + count + " PublishName from Books where PublishName like '%" + prefixText + "%'";

                break;

        }

        SqlCommand cmd = new SqlCommand(sqlStr, conn);

        SqlDataAdapter sda = new SqlDataAdapter(cmd);

        DataSet ds = new DataSet();

        sda.Fill(ds);

        int resultCount = ds.Tables[0].Rows.Count;

        string[] resultValue = new String[resultCount];

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

        {

            string keywords =(string)(ds.Tables[0].Rows[i][key]);

            resultValue[i] = keywords;

        }

        return resultValue;

    }

二.前台代碼:

  <td style="PaDDING-LEFT: 3px" width="20">

                    <asp:TextBox ID="key" runat="server" Text="" ></asp:TextBox> 

                    <Toolkit:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" TargetControlID="key" WatermarkText="請輸入關鍵字">

                    </Toolkit:TextBoxWatermarkExtender>

                    <Toolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"

                    TargetControlID="key" ServicePath="~/WebServices/Booksearch.asmx"

                     ServiceMethod="GetSearchType" MinimumPrefixLength="1" UseContextKey="true" ContextKey="0">

                    </Toolkit:AutoCompleteExtender>      

  </td>