c# - asp mvc中的自动完成脚本
问题描述
嗨,我是网页开发的新手,验证了 Stack over flow 中的所有相关问题,但我仍然无法获得解决方案。
我正在尝试在输入框中包含自动完成功能,并且如果我Layout = null;
在视图文件中它可以正常工作,就像我使用现有的视图模板ViewBag.Title = "Home Page";
自动完成功能不起作用一样
查看文件:
@model IEnumerable<AspNetRoleBasedSecurity.Models.PostModel>
@{
ViewBag.Title = "Home Page";
}
<div class="row search-row">
<input class="search ui-autocomplete-input" type="text" id="CityName" placeholder="What do you need help with?"/>
<a class="buttonsearch btn btn-info btn-lg" href="search-results.html">Search</a>
</div>
使用的脚本:
<script type="text/javascript">
$(document).ready(function () {
$("#CityName").autocomplete({
source: function (request,response) {
$.ajax({
url: "/Home/GetRecord",
type: "POST",
dataType: "json",
data: { prefix: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.Title, value: item.Title };
}))
}
})
},
});
});
</script>
参考
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
C#
public JsonResult GetRecord(string prefix)
{
DataSet ds = PostRepo.GetName(prefix);
List<search> searchlist = new List<search>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
searchlist.Add(new search
{
Title= dr["Title"].ToString(),
Tags = dr["Tags"].ToString(),
Id = dr["Id"].ToString()
});
}
return Json(searchlist, JsonRequestBehavior.AllowGet);
}
ViewBag.Title = "Home Page";
如果没有收到错误消息但自动完成功能不起作用,我无法理解为什么它不起作用。请帮助我理解这个概念。
解决方案
推荐阅读
- angular - 模板驱动表单中的角度材料日期选择器验证问题
- java - 如何 flatMap 自定义创建的类?
- javascript - 如何按值 JavaScript 对 JSON 数据进行排序?
- python - 无法在 Python 中解压不可迭代的方法对象错误
- typo3 - TYPO3 8 中的排版日期格式
- apache-spark - 无法批量反序列化具有不同数量项目的 PairRDD
- r - 私人组织中的 R 包 - 如何在组织内安装私人依赖项?
- python - 如何在 Python 的 HeatMap 中指定我自己的标准
- javascript - 使用 javascript jquery 3.5.1 获取所有表格元素的值,包括 td、textarea 或 innerHtml 值
- c - _flushall() 在清除缓冲区时不起作用