我的JS函数
<script type="text/javascript">
$(function () {
$("#pName").autocomplete({
source: '@Url.Action("GetExistingProducts")'
});
});
</script>
ID #pName
是文本框的ID,该文本框位于模式中。
我在控制器中的GetExistingProducts
功能
public IEnumerable<string> GetExistingProducts()
{
return _traceProjectService.GetAllProducts();
}
这会在我的服务中拨打电话GetAllProducts()
public IEnumerable<string> GetAllProducts()
{
var productList = myContext.Projects.Select(x =>x.ProductName).ToList();
return productList;
}
问题:
当我开始在文本框中输入内容时,我的JS函数未显示现有产品。
参考文献:
如果有人能告诉我我做错了,将不胜感激。谢谢。
答案 0 :(得分:0)
尝试一下:
<script src="~/Scripts/bootstrap3-typeahead.js"></script>
<script>
$.ajax({
url: '@Url.Action("GetExistingProducts", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".pText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
$.ajax({
url: '@Url.Action("GetExistingVersions", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".vText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
</script>
在控制器端
public string GetExistingProducts()
{
var x = yourservice.function().toList();
string a = string.Empty;
foreach (var item in x)
{
a += item + ",";
}
return a;
}