Я хочу построить поле поиска для поиска пользователей в моей системе ... я напишу имя пользователя в поле, и функция ajax передаст имя из поля поиска методу в контроллере, этот метод вернет неисчислимое количество всех пользователейони имеют одно и то же имя .... когда я передаю идентификатор пользователя, он успешно работает, и я получаю конкретного пользователя, потому что я передаю значение int ... но проблема возникает, когда я передаю строку ... так как передать имя пользователяк контроллеру с помощью ajax.
вот теги просмотра
<div class="form-group">
<label asp-for="ResearchAuthor.ApplicationUserId" class="control-label"></label>
<input id="user" asp-for="ResearchAuthor.ApplicationUserId" class="form-control" asp-items="ViewBag.ApplicationUserId" />
<a id="srch" class="btn btn-success">بحث</a>
</div>
<select id="add" asp-for="ResearchAuthor.ApplicationUserId" class="form-control" asp-items="ViewBag.ApplicationUserId">
<option>@Localizer["إختر المستخدم"]</option>
</select>
и код ajax
<script>
$("#add").empty();
$(document).ready(function () {
$("#srch").click(function () {
$("#add").empty();
$("#add").append($('<option>', { text: "@Localizer["إختر نوع المقالة"]" }));
//if ($("#user").val() > 0) {
var useroptions = {};
useroptions.url = "/@CultureInfo.CurrentCulture.Name/ResearchAuthors/GetUsers/";
useroptions.data = JSON.stringify($("#user").val(););
useroptions.success = function (data) {
$.each(data, function (index, row) {
$("#add").append($('<option>', { value: row.value, text: row.text }))
});
};
useroptions.error = function () { alert("@Localizer["UniError"]"); };
$.ajax(useroptions);
//}
});
});
</script>
и функция в контроллере:
[AllowAnonymous]
public JsonResult GetUsers(string SearchString)
{
var users = new SelectList(_context.ApplicationUsers.Where(u=>u.ArName==SearchString), "Id", "ArName");
return Json(users);
}