问题摘要:
我有一个页面有一个文本框和一个按钮。 在单击按钮上,它会读取几个XML并获取以下数据。
现在迭代每个数据库连接器,连接,运行每个查询,获取数据,创建动态控件和面板并以这种方式显示。
---甲----
Gridview A [0]结果
Gridview A [1]结果
Gridview A [2]结果
--- ---乙
Gridview B [0]结果
如果我同步尝试连接连接器,它可以正常工作和显示。该页面冻结了几秒钟,但在所有操作完成后,它会正常显示。任何连接器关闭时都会出现问题。例。如果A关闭,那么直到我们得到连接器超时消息,B和C也等待并且页面加载时间增加。
现在有一个业务需求,它应该异步运行,这意味着所有连接器应该像并行一样连接和查询。我尝试使用 WebService 来实现这一点。但徒劳无功。 Div创建并关闭,然后填充网格/数据。由于div是动态创建的,我不知道如何将gridviews放在这些div中。
我目前的逻辑是:
Loop through Connectors {
Create <Div class="Container">
Create <Div class="conLabel">Label</div>
Loop through Queries for this connector {
WebSevice _WS = new WebService();
__WS.GetDataCompleted += new GetDataCompletedEventHandler(__WS_GetDataCompleted);
__WS.GetDataAsync(Parameters Here);
}
Create </Div>
}
void __WS_GetDataCompleted(object sender, GetDataCompletedEventArgs e) {
Get result here from e.Result
Create New gridview and bind to it.
}
它显示如下。
---甲----
--- ---乙
Gridview A [0]结果
Gridview A [1]结果
Gridview A [2]结果
Gridview B [0]结果
我不确定这是否是正确的做法。我是WebService的新手。如何在某个div中创建gridview,它本身是动态创建的。
有人可以帮助我找到解决此问题的其他方法。