Можно ли отображать два пользовательских элемента управления на странице aspx параллельно. Кажется, что даже если загрузка данных определяется как асинхронный, другие пользовательские элементы управления не отображаются, пока один пользовательский элемент управления ожидает загрузки данных.Render ASP.Net пользовательские элементы управления параллельные
У меня есть элемент управления CustomGridView
, который унаследован от System.Web.UI.WebControls.GridView
. На моей странице aspx у меня есть несколько CustomGridViews для рендеринга. А также в моей странице ASPX страницы определяется как async=true
,
public class CustomGridView : GridView{
//...
protected override void OnPagePreLoad(object sender, EventArgs e)
{
Page.RegisterAsyncTask(new PageAsyncTask(GetDataAsync));
base.OnPagePreLoad(sender, e);
}
private async Task GetDataAsync(){
var data=await _service.GetDataAsync();
this.DataSource=data;
this.DataBind();
}
//...
}
проблемы все источники данных dosn't, похоже, загружаются параллельно, потому что datasource.databind() вызывается из каждого пользовательского элемента управления. И затем он ждет загрузки данных. –
Если вы расширяете 'GridView', разве это не контроль custome? Элементы управления пользователя расширяют 'UserControl'. –
Почему вы не связываете данные в код страницы вместо управляющего кода? –