使用JSON的MVC自动完成文本框在发布时返回NULL
本文关键字:布时 NULL 返回 文本 JSON MVC 使用 | 更新日期: 2023-09-27 18:26:12
我希望我的搜索框自动完成数据库中的值。当我在搜索框中键入内容时,它正确地击中了控制器,但无论我尝试什么,字符串值都会返回NULL。这是我的代码:
视图(局部视图):
@using (Html.BeginForm("SearchBar", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
<div class="container">
<div class="searcharea">
@Html.TextBox("SearchString", null, new { placeholder = "Type search here..." } )
<input type="submit" />
</div>
</div>
}
<script type="text/javascript">
$(function () {
$("#SearchString").autocomplete({
source: "/Home/AutoCompleteSearch",
minLength: 1,
select: function (event, ui) {
if (ui.item) {
$("#SearchString").val(ui.item.value);
$("form").submit();
}
}
});
});
</script>
控制器:
public JsonResult AutoCompleteSearch(string SearchString)
{
var values = from s in db.Customers
select s.CustomerNumber;
var namelist = values.Where(n => n.ToLower().StartsWith(SearchString));
return Json(namelist, JsonRequestBehavior.AllowGet);
}
因此,当我在搜索框中键入时,我来到了这个控制器,但字符串SearchString为NULL。我一直在学习这个教程。
public JsonResult AutoCompleteSearch(string SearchString)
{
var values = from s in db.Customers
select s.CustomerNumber;
var namelist = values.Where(n => n.ToLower().StartsWith(SearchString.ToLower()));
return Json(namelist, JsonRequestBehavior.AllowGet);
}