Прежде всего, я прошу прощения, если заголовок этого мусора.Я новичок в C # и ASP и даже не знаю, как задать этот вопрос.
Я пытаюсь включить функцию поиска в мою веб-страницу.У меня есть текстовое поле, которое будет принимать запрос, который хочет пользователь.В раскрывающемся списке будет указано ПОЛЕ моей таблицы базы данных, в которой будет выполняться поиск. Поэтому, если есть фамилии и имена, пользователь может выбрать, в каком из них выполнять поиск. У меня есть свойство SearchField {get;set;}, который будет содержать значение, выбранное пользователем в раскрывающемся списке, но когда я пытаюсь использовать его в своем операторе LINQ вместе с Contains (бла), я получаю ошибку.
Я очень мало пробовал, так как я действительно мало знаю о C # или о том, что ошибка говорит мне.
cshtml-файл
<form>
<p>
<select asp-for="SearchField" class="form-control">
<option value="FirstName">First Name</option>
<option value="LastName">Last Name</option>
<option value="Salary">Salary</option>
<option value="Gender">Gender</option>
<option value="Department">Department</option>
<option value="Location">Location</option>
<option value="Performance">Performance</option>
</select>
Search: <input type="text" asp-for="SearchString" class="form-control" />
<input type="submit" value="Filter" class="form-control" />
</p>
</form>
cs-файл
[BindProperty(SupportsGet = true)]
public string SearchField { get; set; }
public async Task OnGetAsync()
{
var employees = from x in _context.Employee
select x;
if (!string.IsNullOrEmpty(SearchString))
{
employees = employees.Where(x => x.SearchField.Contains(SearchString));
}
Employee = await employees.ToListAsync();
}
Ошибка: объект не содержит определения для «Contains» и наиболее известной перегрузки метода расширения Queryable.Contains..... требуется приемник типа IQueryable