Как передать список данных в представления - PullRequest
0 голосов
/ 08 сентября 2010

На самом деле я хочу создать список кандидатов (более 1000) для представления, для которого я использую средство чтения данных sql и генерирую список и перехожу к представлениям, но это занимает много времени (от 4 до 5 секунд), чтобы показатьПросмотр, когда записей больше 500, это нормально.

{

публичная статическая ApplicantsList GetListSend (строковая категория, строка subDiv) {string os = "N";if (category == "SCOS") os = "Y";Applicant App; // Класс кандидата содержит имя, адрес, телефон и т. Д. //// ApplicantsList AppList = new ApplicantsList (); // Тип списка классов ApplicantLst // строка sqlcon = ConfigurationManager.ConnectionStrings ["ConnectionString"]. ConnectionString.ToString ();SqlConnection con = new SqlConnection (sqlcon);con.Open ();string SqlQuery = "SELECT [idno], [ApplicantName], [Address], [Status], преобразовать (varchar (10), DateOfApplication, 103) в DateOfApplication FROM [SCOBC] где (status =« В ожидании помощника по сделкам »и ​​категории= '"+ category +"') и SubDiv = '"+ subDiv +"' и os = '"+ os +"' order by idno ";SqlCommand cmd = new SqlCommand (SqlQuery, con);SqlDataReader sdr = null;sdr = cmd.ExecuteReader ();if (sdr.HasRows) {while (sdr.Read ()) {App = новый заявитель ();App.IdNo = sdr ["idno"]. ToString ();App.Name = sdr ["ApplicantName"]. ToString ();App.Address = sdr ["Address"]. ToString ();App.Status = sdr ["Status"]. ToString ();App.DateOfApp = sdr ["DateOfApplication"]. ToString ();AppList.Add (App);

            }
            sdr.Close();
            con.Close();
        }
        return AppList;
    }

}

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Я не знаю, нормально ли, что ваш вызов базы данных занимает 4-5 с, но что ненормально, так это отображение списка из 1000 элементов в одном представлении без реализации разбиения на страницы.

Когда вы реализуете пейджинг, вы не только сделаете свою страницу меньше и удобнее для чтения пользователями, но и значительно улучшите производительность, поскольку вы будете получать только то, что нужно.Конечно, чтобы это было эффективным, подкачка должна выполняться на SQL Server.

0 голосов
/ 09 сентября 2010

Нет ничего необычного в том, что отображение страницы с таким большим количеством данных занимает много времени.Следующий шаг - определить, какая часть жизненного цикла страниц занимает столько времени.Это может быть вызов SQL, рендеринг HTML-кода или что-то еще, но вам действительно нужно ограничить масштаб проблемы, чтобы эффективно спланировать, как вы собираетесь ее исправить.Я видел его там, где SQL-запрос действительно быстрый, но с тоннами данных HTML-страница настолько велика, что для ее визуализации требуется веб-браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...