Steven,
I solved this problem just the other day....
Spacer.gif is a 1x1 gif file which is transparent. 32x32Hourglass.gif
is a funky hourglass image I use to make it look friendly.
This works by intercepting the Postback and essentially dropping a
pane of glass on the page so you can see but not touch.
It's not 100% perfect, but it works. I've one issue with the glass div
size but as of now it ain't breaking anything...
NB - this only works for Severside Postback's...
Tig
=====================
Stylesheet Segment:
=====================
/* Use the Simon Coggins 'Negative Margin' trick to center the div to
the page (
http://www.bluerobot.com/web/css/center2.html) */
..LoadingMessageDiv
{
border-right: silver 4px outset;
padding-right: 15px;
border-top: silver 4px outset;
margin-top: -20px;
padding-left: 15px;
font-weight: bold;
font-size: 8pt;
z-index: 1000;
filter: progid
XImageTransform.Microsoft.Shadow(color= 'gray' ,
Direction=135, Strength=4);
left: 50%;
visibility: hidden;
padding-bottom: 15px;
margin-left: -200px;
vertical-align: baseline;
border-left: silver 4px outset;
width: 400px;
color: yellow;
padding-top: 15px;
border-bottom: silver 4px outset;
font-family: Verdana, Helvetica, sans-serif;
position: absolute;
top: 50%;
height: 40px;
background-color: royalblue;
text-align: center;
}
..GlassDiv
{
padding-right: 0px;
padding-left: 0px;
z-index: 1000;
left: 0px;
background-image: url(images/spacer.gif);
padding-bottom: 0px;
margin: 0px;
width: 0px;
cursor: wait;
padding-top: 0px;
background-repeat: repeat;
position: absolute;
top: 0px;
height: 0px;
}
=====================
Page segment:
=====================
<div id="AGlassDiv" class="GlassDiv"> </div>
<div id="LoadingDiv" class="LoadingMessageDiv"><img id="HourglassImg"
align="absmiddle" src="images/32x32Hourglass.gif"> Processing
Request. Please wait...</div>
<link href="portal.css" type="text/css" rel="stylesheet">
</HEAD>
<body leftmargin="0" bottommargin="0" rightmargin="0" topmargin="0"
marginheight="0" marginwidth="0">
<script type="text/javascript">
var __DotNet__doPostBack
function window.onload()
{
var i = document.getElementById('LoadingDiv');
i.style.visibility='hidden';
i = document.getElementById('AGlassDiv');
i.style.visibility='hidden';
__DotNet__doPostBack = __doPostBack;
__doPostBack = __Fudge__doPostBack;
}
function __Fudge__doPostBack(Param1, Param2)
{
var i = document.getElementById('LoadingDiv');
i.style.visibility='visible';
i = document.getElementById('AGlassDiv');
i.style.visibility='visible';
i.style.zIndex=1000;
i.style.width = screen.width;
i.style.height = screen.height;
__DotNet__doPostBack(Param1, Param2);
}