Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript C#和MVC中的自动完成文本框_Javascript_C#_Asp.net Mvc_Autocomplete - Fatal编程技术网

Javascript C#和MVC中的自动完成文本框

Javascript C#和MVC中的自动完成文本框,javascript,c#,asp.net-mvc,autocomplete,Javascript,C#,Asp.net Mvc,Autocomplete,大家好,谢谢你们的帮助 我需要用C#和MVC自动完成一个包含建议的文本框 视图中的文本框为: <div class="col-lg-3 col-md-3 hidden-sm hidden-xs" style="margin-top:2%;"> <input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring"&g

大家好,谢谢你们的帮助

我需要用C#和MVC自动完成一个包含建议的文本框

视图中的文本框为:

<div class="col-lg-3 col-md-3 hidden-sm hidden-xs" style="margin-top:2%;">
   <input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
   <h4 class="FormTextLocator">Where</h4>
</div>
<div class="hidden-lg hidden-md col-sm-3 col-xs-12" style="margin-top:2%;">
   <input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
   <h4 class="FormTextLocator">Where</h4>
</div>
并且关联的控制器是:

 public JsonResult AutocompleteSuggestions(string searchstring)
 {
     var db = new TocFruit();
     var suggestions = from s in db.city select s.name;
     var namelist = suggestions.Where(n => n.ToString().StartsWith(searchstring.ToLower()));
     return Json(namelist, JsonRequestBehavior.AllowGet);
 }
但所有这些都不起作用,但我不明白我做错了什么

感谢大家,

罗伯托

检查上面的链接


同时指出,根据您的代码,您有两个具有相同id的文本框。在您的帮助下,控制器现在返回正确的值列表,但文本框不显示值。新代码是这样编写的:

现在代码是这样写的:

Javascript

$(document).ready(function () {
    $("#textLocator").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Home/AutocompleteSuggestions",
                type: "POST",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { label: item.name, value: item.name };
                    }))
                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
});
HTML


非常感谢

您遇到了什么问题/错误?您有两个相同id的文本框?我已解决了双id问题。问题是我没有在文本框下显示结果建议。我已经添加了新代码。谢谢你检查了链接吗?很好的教程链接:)
$(document).ready(function () {
    $("#textLocator").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Home/AutocompleteSuggestions",
                type: "POST",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { label: item.name, value: item.name };
                    }))
                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
});
<div class="col-lg-3 col-md-3 hidden-sm hidden-xs" style="margin-top:2%;">
   <input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
   <h4 class="FormTextLocator">dove</h4>
</div>
public JsonResult AutocompleteSuggestions(string term)
{
   var db = new TocFruit();
   var suggestions = from s in db.city select s.name;
   var namelist = suggestions.Where(n => n.ToString().ToLower().StartsWith(term.ToLower()));
   return Json(namelist, JsonRequestBehavior.AllowGet);
}