私はまだデータベース(SQL)からのデータを使用してオートコンプリートテキストボックスで作業していますが、selectステートメントに何か問題があるか欠落しているため、テキストボックスの結果が得られないと思います。現在のコードは次のようになります。これは、ビューのjsonコードです。
$(function () {
$("#autoCompleteText").autocomplete({
source: function (request, response) {
var autoSearch = { searchText: $("#autoCompleteText").val() };
$.ajax({
type: "POST",
traditional: true,
url: "/Products/jsonAutoComplete",
data: autoSearch,
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
},
delay: 0,
minLength: 2
});
});
コントローラでブレークポイントを実行するたびにメソッドjsonAutoCompleteが実行されますが、autcompleteに表示したいproductNameは常にnullであるため、これが機能することは間違いありません。selectステートメントを含む私のコードは次のとおりです。
public JsonResult jsonAutoComplete(string searchText)
{
JsonResult data= new JsonResult();
IList<Products> products = null; products = (from c in db.Products where c.CompanyId.Equals(companyId) && (c.ProductName.Contains("'%" + searchText + "%'")) select c).ToList();
Products prod = new Products();
int productId = prod.Id;
string productName = prod.ProductName;
data.Data = new { productId = productId, productName = productName };
return data;
}`