C# 数据库的简单搜索/过滤功能(ASP.NET MVC)(SQL Server 2014)

C# 数据库的简单搜索/过滤功能(ASP.NET MVC)(SQL Server 2014),c#,asp.net,asp.net-mvc,sql-server-2014,C#,Asp.net,Asp.net Mvc,Sql Server 2014,我想在我的简单数据库中添加一个简单的搜索功能 我已经完成了添加、编辑和删除功能。我很难处理搜索功能 目前我有一个搜索框,我已经想到了在数据库中执行适当的SQL查询,这样我就可以得到一个简单的结果 我很难将textbox字段传递给控制器,以便将其用作SQL数据库中的搜索查询,然后将其返回到视图以获取搜索结果 我是一个ASP.NETMVC初学者。请帮忙。多谢各位 以下是我迄今为止的工作: 看法 控制器 下面是它的外观: 或者您可以借助jquery ajax方法。 为文本框指定一个id var Url

我想在我的简单数据库中添加一个简单的搜索功能

我已经完成了添加、编辑和删除功能。我很难处理搜索功能

目前我有一个搜索框,我已经想到了在数据库中执行适当的SQL查询,这样我就可以得到一个简单的结果

我很难将textbox字段传递给控制器,以便将其用作SQL数据库中的搜索查询,然后将其返回到视图以获取搜索结果

我是一个ASP.NETMVC初学者。请帮忙。多谢各位

以下是我迄今为止的工作:

看法

控制器

下面是它的外观:

或者您可以借助jquery ajax方法。 为文本框指定一个id

var Url = "/Course/Search",
var textvalue= $('#textboxid').val(),
$.ajax({
    url: Url ,
    data: { GetAllCourse: textvalue},
    type: "GET",
    url: Path,
    success: function (result) {

    }
});

表单控件的name=txtsearch,因此您的方法应该是public ActionResult Searchstring txtsearch{public ActionResult Searchstring GetAllCourse=>我认为这没有意义。为什么要使用Request.form[txtsearch]再加上使用另一个属性和TextBoxFor的viewmodel就足够了?使用客户端网格,这将是一个很好的方法,我已经成功地修复了它。非常感谢=
public ActionResult Index()
{
    return View(GetAllCourse(""));
}

 [HttpPost, ActionName("Search")]
 [ValidateAntiForgeryToken]
 public ActionResult Search(string GetAllCourse) {
 string search = Request.Form["txtsearch"].ToString();
 //GetAllCourse("search");
     return View();
 }

 #region PRIVATE FUNCTIONS
 private List<Course> GetAllCourse(string search)
 {
     //DECLARATION AND INIT
     SqlConnection oCon = null;
     SqlCommand oCmd = null;
     SqlDataReader oDr = null;
     List<Course> oList = null;
     string SqlCon = @"Data Source=IT-MARICOR\LOCAL;Initial Catalog=INTERN;User ID=sa;Password=aaa";

     try
     {
         //SET CONNECTION
         oCon = new SqlConnection();
         oCon.ConnectionString = SqlCon;
         if (oCon.State == System.Data.ConnectionState.Closed)
         {
             oCon.Open();
         }

         //SET COMMAND
         oCmd = new SqlCommand();
         oCmd.Connection = oCon;
         oCmd.CommandType = System.Data.CommandType.Text;
         oCmd.CommandText = "SELECT * FROM Course " + (search == "" ? "" : " WHERE crs_Course LIKE '% " + search + "%'");

         oDr = oCmd.ExecuteReader();

         if (oDr.HasRows)
         {
             oList = new List<Course>();

             while (oDr.Read())
             {
                 Course oCourse = new Course();
                 oCourse.crs_ID = Convert.ToInt32(oDr["crs_ID"].ToString());
                 oCourse.crs_Course = oDr["crs_Course"].ToString();
                 oCourse.crs_Major = oDr["crs_Major"].ToString();
                 oCourse.crs_Spec = oDr["crs_Specialization"].ToString();
                 oList.Add(oCourse);
             }

             return oList;
         }
         return null;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         //CLEAN UP RESOURCES
         oCon.Close();
         oCon = null;
     }

}
#endregion
var Url = "/Course/Search",
var textvalue= $('#textboxid').val(),
$.ajax({
    url: Url ,
    data: { GetAllCourse: textvalue},
    type: "GET",
    url: Path,
    success: function (result) {

    }
});