Когда я служу странице ASP.NET, я могу представить различные средства управления на странице параллельно?
У меня есть несколько средств управления Telerik (RadGrids) на странице и когда я ступаю через загружаемую страницу, кажется, как будто средства управления связаны с данными и представлены последовательно. Возможно, это поведение состоит в том, потому что я сцепляюсь в с отладчиком.
Там должен так или иначе загрузить страницу и иметь избранные средства управления, основываются на отдельных потоках? Это даже концептуально возможно, или это должно быть сделано последовательно?
У вас есть несколько вариантов. Вы можете использовать модель асинхронной страницы ASP.NET. Идея состоит в том, что вы загружаете данные для каждого элемента управления асинхронно, а затем связываете эти данные с каждым элементом управления по мере их извлечения.
Это будет выглядеть примерно так:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsAsync) {
dataSource.GetDataCompleted +=
new GetDataCompletedEventHandler(GetDataCompleted);
dataSource.GetDataAsync();
}
else {
_yourCtl.DataSource = dataSource.GetData();
_yourCtl.DataBind();
}
}
void GetDataCompleted(object sender, GetDataCompletedEventArgs e) {
_yourCtl.DataSource = e.Result;
_yourCtl.DataBind();
}
Вы должны сделать то же самое для каждого элемента управления на странице.Конечным результатом является то, что время отрисовки страницы будет равно времени отрисовки самого медленного элемента управления отрисовкой.
Альтернативный метод - использовать AJAX для загрузки элементов управления. Я не знаком с элементом управления Telerik RadGrid, но предполагаю, что он поддерживает AJAX. Вот ссылка на демонстрационную страницу Telerik, на которой показано, как выполнить программную привязку на стороне клиента сети Telerik: http://demos.telerik.com/aspnet-ajax/grid/examples/client/databinding/defaultcs. aspx .
Взгляните на эту статью, я надеюсь, она укажет вам правильное направление:
http://www.codeproject.com/Articles/38501/Multi-Threading-in-ASP- NET.aspx