无法按照教程创建动态搜索结果

本文关键字:创建 动态 搜索结果 教程 | 更新日期: 2023-09-27 18:27:34

我将遵循本教程,在用户键入时从SQL服务器创建动态搜索结果。它告诉我创建一个.asmx文件,这不是我以前使用过的格式。这是我迄今为止的代码:

WebService.asmx.cs:

public class SearchService : WebService
{
  [WebMethod]
  public searchResult[] Search(string txtSearch)
  {
//Declare collection of searchResult
        List resultList = new List();
        var db = Database.Open("mPlan");
        var result = db.Query("SELECT * from Users where Username like '%" + txtSearch + "%'");
       try
       {
           foreach(var record in result)
            {
               searchResult result = new searchResult();
               result.Username = ["Username"].ToString();
               resultList.Add(result);
           }
           return resultList.ToArray();
       }
       catch
       {
           return null;
       }
  }}

WebService.asmx:

<%@ WebService Language="C#" class="WebService.asmx.cs" %>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
[System.Web.Script.Services.ScriptService]
[System.Web.Script.Services.GenerateScriptType(typeof(searchResult))]
public class searchResult
{
    public string Title;
    public string img;
    public string href;
}

这是我的错误信息,有人能帮我吗?

编译器错误消息:BC30689:语句无法出现方法体外部

无法按照教程创建动态搜索结果

您的web方法必须在类内声明,并且属性必须修饰该类。

[System.Web.Script.Services.ScriptService]
[System.Web.Script.Services.GenerateScriptType(typeof(searchResult))]
public class SearchService : WebService
{
  [WebMethod]
  public searchResult[] Search(string txtSearch)
  {
     // ...
  }
}