Скорее всего, это сравнение всегда возвращает false: item => (Model.data == item)
.
Это предотвратит отображение окна редактирования.
Попробуйте переписать сравнение как сравнение между простыми значениями (например, идентификаторами) или внедрить равно для вашего класса данных и использовать вместо ==
[Update]
Сравнение используется для определения того, какие строки должны отображаться в режиме редактирования, где true
означает «визуализация строки в режиме редактирования».
Допустим, вы хотите отредактировать строку, соответствующую элементу с заданным идентификатором. Ваше сравнение будет выглядеть примерно так: item => item.Id == Model.SelectedRowId
.
В вашем контроллере вы бы сделали что-то вроде этого:
public ActionResult Edit(string id)
{
var model = new StringSearchResultsModelIndex();
model.getData();
model.SelectedRowId = id;
return View("SearchGUIString", model);
}
Обратите внимание, что вам нужно добавить свойство SelectedRowId
в ваш класс модели представления.
Кстати, я бы порекомендовал вам не позволять вашей модели представления загружать свои собственные данные в методе getData()
. Модель представления должна быть не более чем контейнером, который вы используете для передачи данных из вашего контроллера в ваше представление. За размещение данных в модели представления отвечает контроллер.