Я работаю над страницей asp.net и пытаюсь улучшить время ее загрузки. Загрузка 20 записей в виде списка занимает около 8 секунд.
Страница загружалась правильно, несмотря на то, что eval работал медленно:
<asp:LinkButton CommandArgument='<%#Eval("EmployeeID")%>' >Edit</asp:LinkButton>
Однако, поскольку предыдущий подход был медленным, я изменил его на следующий, основываясь на информации, которую я прочитал здесь :
<asp:LinkButton CommandArgument='<%# ((DataRowView)Container.DataItem)["ApplicationID"]%>'>Edit</asp:LinkButton>
Однако новый код выдает следующую ошибку: Невозможно привести объект типа DataObjects.Data.EmployeeInfo к типу 'System.Data.DataRowView
.
Теперь я не знаком со вторым методом, но время загрузки первого метода неприемлемо.
вещи на заметку:
- Существует класс с именем EmployeeInfo
- Данные извлекаются из sqlServer с помощью хранимой процедуры
- Хранимая процедура получает данные из представления
- Существует просмотр списка, источником данных которого являются результаты метода, который возвращает список EmployeeInfo: List
- listview.databind () вызывается после установки источника данных
- В каждой записи 10 полей, которые выдают одинаковую ошибку при переходе от eval к вышеупомянутому подходу
- Программа аварийно завершает работу после вызова databind (), что указывает на проблему приведения
образец кода, который я видел, использовал DataRowView и DataItem. Я должен изменить DataRowView или DataItem на что-то еще?
Что мне нужно сделать, чтобы исправить эту ошибку?