Я пытаюсь создать страницу поиска, которая ищет детали пользователя на основе имени пользователя. Моя проблема в том, что я не могу создать строго типизированное текстовое поле для окна поиска. Я создал представление модели, и, несмотря на это, я не могу исправить свою проблему. Мой взгляд не способен даже скомпилировать правильно, я предполагаю, что я ошибаюсь в модели, которая привязывает представление, чтобы он был строго типизирован. Я хочу иметь 2 текстовых поля для имени пользователя и номера телефона, если пользователь вводит что-либо внутри любого текстового поля, он должен возвращать соответствующий профиль пользователя.Создание строго типизированного представления
Это вид Модель: метод
public class UserSearchViewModel
{
public string userName { get; set; }
public string phoneNum { get; set; }
public IEnumerable<User> user { get; set; }
}
Действие:
public ActionResult Search(UserSearchViewModel mod)
{
IEnumerable<User> u1 = null;
u1 = db.Users.Where(p => p.UserName.Contains(mod.userName) || p.PhoneNum.Contains(mod.phoneNum));
return View(u1);
}
Вид:
@model HindiMovie.Models.UserSearchViewModel
@using(Html.BeginForm("Search", "User", FormMethod.Get))
{
@Html.TextBox("UserName")
}
<table>
<tr>
<th>@Html.DisplayNameFor(model => model.UserName)</th>
<th>@Html.DisplayNameFor(model => model.FirstName)</th>
<th>@Html.DisplayNameFor(model => model.LastName)</th>
<th>@Html.DisplayNameFor(model => model.PhoneNum)</th>
<th></th>
</tr>
@foreach (var item in Model.user) {
<tr>
<td>@Html.DisplayFor(modelItem => item.FirstName)</td>
<td>@Html.DisplayFor(modelItem => item.LastName)</td>
<td>@Html.DisplayFor(modelItem => item.UserName)</td>
</tr>
}
</table>
Извините, я не понял, что вы объяснили. – Sid
Вместо того, чтобы использовать вашу коллекцию пользователей в качестве модели, вы бы создали еще один класс, в котором была ваша коллекция пользователей и любые другие необходимые вам свойства. –
Я пробовал много, но не смог исправить свою проблему. – Sid