前台调用WebServices的方法

本文介绍了如何在ASP.NET中创建WebServices,并从前台调用该服务进行书籍搜索。通过示例代码展示如何实现根据关键词搜索书籍的多个属性,如书名、作者等,并利用AutoCompleteExtender进行自动补全。
摘要由CSDN通过智能技术生成

当在解决方案/项目下新建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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值