Thursday, April 24, 2014

Reanimate an animated gif when javascipt makes visible

To get an animated gif to work after some javascript adjusts the visibility, create a new instance


function Loading() {
   var wait = document.getElementById('loadingGif');

   if (wait != null) {
     wait.style.display = "inline";
     var newInstance = wait.cloneNode(true); //This will reanimate the gif
     wait.parentNode.replaceChild(newInstance, wait);
   }
}
 

Tuesday, April 22, 2014

Auto PostBack to refresh content

Set a timer to auto postback page using JavaScript


//Register Auto PostBack
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "PostBackFunction", GetPostBackFunction(), true);

//Function to detail script
private string GetPostBackFunction()
{ StringBuilder build = new StringBuilder();

build.AppendLine(string.Format("window.setTimeout(\"AutoPostBack()\", {0});", (1000 * secondsForAutoPostBack).ToString()));
build.AppendLine("function AutoPostBack()");
build.AppendLine("{javascript:__doPostBack('AspControl','');}");

return build.ToString();
}
Note: "AspControl" in the javascript postback is the ID of an asp.net control on the page this script is being registered on.  If none exists, add one:

<asp:LinkButton runat="server" ID="AutoPostBackLb" Text=""></asp:LinkButton>