На мой взгляд, я использовал функцию автозаполнения для поиска имени.При поиске имени оно отображало каждое имя из базы данных в раскрывающемся списке.
Особенность метода автозаполнения такова: если я введу букву j
в текстовое поле, она должна отображать только j
, но при проверке в контроллере у меня есть метод действия, и я передавал имя строки внутри метода действия после ввода в поле поиска, и когда я отлаживал код, в контроллере имя было null
.
Я использовал request.term
в моих данных, как data: { name: request.term }
при наборе имени, и оно принимало соответствующее имя, но оно должно было передать то же самое контроллеру, потому что в моем контроллере я написал методы фильтрации и использовалсодержит, т.е. как оператор, в сервисе.
Какое бы значение не находилось в поле поиска, в контроллере оно передавало null
.Пожалуйста, помогите мне.
Я пытался передать id
данным в вызове ajax, но он не принимал его в контроллере.Он передавал null
методу действия.
Служба:
public async Task<List<ManagerAllocationModel>> GetManager(string name)
{
List<ManagerAllocationModel> managerList = new List<ManagerAllocationModel>();
managerList = _mapper.Map<List<EmployeeHierarchy>, List<ManagerAllocationModel>>(await _employeeHierarchyService.ListAll());
managerList.Where(x => x.Tea[enter image description here][1]mManagerName.StartsWith(name));
return managerList;
}
Контроллер:
[HttpPost]
public async Task<List<ManagerAllocationModel>> getmanagerName(string name)
{
var manager =await employeeService.GetManager(name);
return manager;
}
Вид:
<label asp-for="@Model.managerAllocation.TeamManagerName" name="name" id="name" class="control-control">TeamManager Name</label>
<input asp-for="@Model.managerAllocation.TeamManagerName" class=" form-control " required="required" placeholder="Enter Manager Name">
<span asp-validation-for="@Model.managerAllocation.TeamManagerName" id="namerequired"class="text-danger"></span>
$("#managerAllocation_TeamManagerName").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Employee/getmanagerName/",
data: { name: request.term },
type: "post",
contentType: "application/json;charset=utf-8",
success: function (data) {
response($.map(data, function (item) {
console.log(item);
return { label: item.teamManagerName, value: item.teamManagerName };
}))
},
});
},
minlength: 3
});