我正在寻找解决我问题的解决方案两天,但我找不到任何有用的方法。我有两页:第1页和第2页
Page1包含将发送到page2的参数和一个“Create”按钮
第2页包含GridView
和page_load
我有
GetParameters() ; // extract parameters
PrepareParameters(); // prepare local variable
DataTable dt = CreateDataTable(); // create the BoundField/Columns based on prepared local variables
myGridView.DataSource = dt;
myGridView.DataBind();
我的问题是方法PrepareParameters()
由于大量数据而需要时间,即使它已经过优化。当我点击“创建”按钮时,浏览器不会移动到第2页,而是不响应并保留在第1页,用户不知道发生了什么。
所以我想知道如何将浏览器重定向到page2并在网格上向用户显示加载动画,直到PrepareParameters()
完成处理数据并显示GridView
一旦完成?
谢谢你的回复。
答案 0 :(得分:0)
您可以使用Javascript来执行此操作。获取您喜欢的任何加载程序图像,网上有许多可用的google it
将此图像放在网格的顶部/底部,为其指定一些ID并设置默认属性Visible = false。 现在点击按钮点击调用javascript,你可以看到这个图像。
示例代码
<html>
<head>
<script type="text/javascript" language="JavaScript">
function Loading() {
document.getelemanebyId('Img').visibility = visible;
}
</script>
</head>
<body>
<form action="" method="POST" id="myForm">
//Gridview control here
<img id="Img" src="give image file path" runat="server" visible="false"/>
<button name="Create" onClientClick="Loading();" runat="server" >
</form>
</body>
</html>