位置:海鸟网 > IT > ASP.NET >

[ASP.net]Loading制作

方法很简单。把代码放上来大家看看!
打了包成了个控件。下载地址:
?f=050P1D8E0E3E5D9D5G6ALI7A00A05AKA03D6A00A08A08I5F9G0E0D9E0D8D6E1A24E6E1D9E5D9C3

下面是源码:

===================================

using System;

namespace HDControl
{
/// <summary>
/// Summary description for Loading.
/// </summary>
public class Loading
{
private System.Web.UI.Page Sender;
private string strImagePath;

public object Page
{
get
{
return Sender;
}
set
{
Sender = (System.Web.UI.Page)value;
}
}

public string ImageMapth
{
get
{
return strImagePath;
}
set
{
strImagePath = value;
}
}

public Loading()
{
//
}

public Loading( object sender )
{
Page = sender;
}

public Loading( object sender,string ImageMapth )
{
Page = sender;
this.strImagePath = ImageMapth;
}

/// <summary>
/// Load script to page
/// </summary>
public void Load()
{
if ( !this.Sender.IsClientscriptBlockRegistered( "startscript" ) )
{
this.Sender.RegisterClientscriptBlock( "startscript",this.Start() );
this.Sender.RegisterStartupscript( "endscript",this.End() );
}
}

/// <summary>
/// script start.
/// </summary>
/// <returns></returns>
private string Start()
{
string strStyle = "BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none";
System.Text.StringBuilder strscript = new System.Text.StringBuilder();
strscript.Append( "<div id=\"loading\">" );
strscript.Append( "<table width=\"100%\" height=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\""+ strStyle + "\">" );
strscript.Append( "<tr style=\"" + strStyle + "\" ><td width=\"100%\" height=\"100%\" align=\"center\" valign=\"middle\" style=\"" + strStyle + "\">" );
strscript.Append( "<img src=\"" + this.ImageMapth + "\" border=\"0\">" );
strscript.Append( "</td></tr>" );
strscript.Append( "</table></div>" );
return strscript.ToString();
}

/// <summary>
/// script end.
/// </summary>
/// <returns></returns>
private string End()
{
System.Text.StringBuilder strscript = new System.Text.StringBuilder();
strscript.Append( "<script language=\"javascript\">" );
strscript.Append( "window.document.getElementById(\"loading\").style.display = \"none\";" );
strscript.Append( "</script>" );
return strscript.ToString();
}
}
}


=========================

先在面页中

using HDControl;

调用方法(在Page_Load里):

LoadingControl.Loading objLoad = new LoadingControl.Loading( this,"Images/loading.gif" );
objLoad.Load();

或:

LoadingControl.Loading objLoad = new LoadingControl.Loading( );
objLoad.Page = this;
objLoad.ImageMapth = "Images/loading.gif";
objLoad.Load();