jQuery,Razor View和SQL数据库



我是ASP.NET和Razor的新手。我正在尝试使该字段称为产品以与数据库的结果自动完成。

我已经创建了AutoComplete.cs模型,并且票务控制器已经在项目中,因此我刚刚添加了操作。然后是new.cshtml我添加了代码。我迷失了什么问题。任何帮助都将不胜感激。

问题是我转到new.cshtml页面,而jQuery不起作用,文本框也无能为力。它拧紧我使用jQuery隐藏的隐藏字段。它显示。

这是自动完成。CS

using System;
using System.Web;
using System.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Configuration;
namespace HelpDesk.Models
{
public class PartNumber
{
    public string[] GetPartNumber()
    {
        List<string> partnumber = new List<string>();
        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RASConnectionString"].ConnectionString))
        {
            con.Open();
            SqlCommand comm = new SqlCommand("select * from pltjones.dbo.inv_master", con);
            SqlDataReader reader = comm.ExecuteReader();
            while (reader.Read())
            {
                partnumber.Add(reader["part_no"].ToString());
            }
        }
        return partnumber.ToArray();
    }
}

那么,这是该应用程序中已经制造的票务控制器。我正在做我添加的内容的snipplet。

  public ActionResult Autocomplete(string term)
    {
        var items = new PartNumber().GetPartNumber();
        var filteredItems = items.Where(
            item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0
            );
        return Json(filteredItems, JsonRequestBehavior.AllowGet);
    }

这是剃须刀视图new.cshtml

 <script type="text/javascript">
   $(document).ready(function () {
       $('#product')
    .each(function () {
        $(this).autocomplete({
            source: '@Url.Action("Autocomplete")'
        });
    });
   });

 <tr id="trEmail">
    <td colspan="2">
        <label for="product">Enter product: </label>
        <input type="text" name="product" id="product" />
</tr>

您尚未说过要使用的自动完成,但是无论如何都不需要调用.each(),因为只有一项匹配项,所以只需使用此匹配:

$('#product').autocomplete(... etc ...)

您尚未提供任何选择项目时该怎么做的代码,例如

$('#product').autocomplete({
    source: // as above
    select: function (event, ui) {
        $("#product").val(ui.item.value);
    }
});

最新更新