用于.NET1.1,自己改到支持更高的版本吧,哈哈。
public sealed class CommonJs
{
private CommonJs(){}
#region public static void OpenNewPage( Page page, string pageUrl, int pageWidth, int pageHeight, string scriptName )
/// <summary>
/// 打开一个新页面
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="pageUrl">新页面的URL</param>
/// <param name="pageWidth">新页面宽</param>
/// <param name="pageHeight">新页面高</param>
/// <param name="scriptName">新页面脚本的名称,为英文字符串</param>
public static void OpenNewPage( Page page, string pageUrl, int pageWidth, int pageHeight, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "window.open('"+ pageUrl +"','_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0,height="+ pageHeight +",width="+ pageWidth +"');" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region public static void OpenNewFullScreenPage( Page page, string pageUrl, bool isCloseOldPage, string scriptName )
/// <summary>
/// 打开一个全屏页面并关闭当前页面
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="pageUrl">新页面的URL</param>
public static void OpenNewFullScreenPage( Page page, string pageUrl, bool isCloseOldPage, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append("width=screen.Width-10;"+"\n");
StrScript.Append("height=screen.height-60;"+"\n");
StrScript.Append( "window.open('"+ pageUrl +"','_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0,height='+ height +',width='+ width +'');" );
if ( isCloseOldPage )
{
StrScript.Append( " window.focus();" );
StrScript.Append( " window.opener=null;" );
StrScript.Append( " window.close(); " );
}
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region public static void RefreshParentPage( Page page, string scriptName )
/// <summary>
/// 刷新父页面
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="scriptName">新页面脚本的名称,为英文字符串</param>
public static void RefreshParentPage( Page page, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "window.opener.reload();" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region public static void RefreshParentPageFrame( Page page, string frameName )
/// <summary>
/// 刷新父页面
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="frameName">新页面脚本的名称,为英文字符串</param>
public static void RefreshParentPageFrame( Page page, string frameName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "parent.frames(\""+ frameName +"\").document.location.reload();" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( "scriptName" ) )
{
page.RegisterStartupScript( "scriptName", StrScript.ToString() );
}
}
#endregion
#region public static void MessageBox( Page page, string msg, string scriptName )
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="msg">消息</param>
/// <param name="scriptName">新页面脚本的名称,为英文字符串</param>
public static void MessageBox( Page page, string msg, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion public static void MessageBox( Page page, string msg, string scriptName )
#region public static void MessageBox( Page page, string msg )
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="msg">消息</param>
public static void MessageBox( Page page, string msg )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( "MessageBox" ) )
{
page.RegisterStartupScript( "MessageBox", StrScript.ToString() );
}
}
#endregion public static void MessageBox( Page page, string msg )
#region public static void MessageBox( string msg )
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="msg">消息</param>
public static void MessageBox( string msg )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "</script>" );
HttpContext.Current.Response.Write(StrScript.ToString());
HttpContext.Current.Response.End();
}
#endregion public static void MessageBox( string msg )
#region public static void ClosePageAfterMessageBox( Page page, string msg, string scriptName )
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="msg">消息</param>
/// <param name="scriptName">新页面脚本的名称,为英文字符串</param>
public static void ClosePageAfterMessageBox( Page page, string msg, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "window.close();" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region public static void ClosePageAfterMessageBox( Page page, string msg )
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="msg">消息</param>
public static void ClosePageAfterMessageBox( Page page, string msg )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "window.close();" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( "CloseMessageBox" ) )
{
page.RegisterStartupScript( "CloseMessageBox", StrScript.ToString() );
}
}
#endregion
#region public static void LocationPageAfterMessageBox( Page page, string msg, string targetPage )
/// <summary>
/// 转向另一页当弹出对话框后
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="msg">消息</param>
/// <param name="targetPage">目标页</param>
public static void LocationPageAfterMessageBox( Page page, string msg, string targetPage )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "location.href='"+ targetPage +"';" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( "MessageBox" ) )
{
page.RegisterStartupScript( "MessageBox", StrScript.ToString() );
}
}
#endregion
#region public static void LocationPageAfterMessageBox( string msg, string targetPage )
/// <summary>
/// 转向另一页当弹出对话框后
/// </summary>
/// <param name="msg">消息</param>
/// <param name="targetPage">目标页</param>
public static void LocationPageAfterMessageBox( string msg, string targetPage )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "alert('"+ msg +"');" );
StrScript.Append( "location.href='"+ targetPage +"';" );
StrScript.Append( "</script>" );
HttpContext.Current.Response.Write(StrScript.ToString());
HttpContext.Current.Response.End();
}
#endregion
#region public static void ConfirmBox( Page page, string message, string confirmUrl, string cancelUrl )
/// <summary>
///
/// </summary>
/// <param name="page"></param>
/// <param name="message"></param>
/// <param name="confirmUrl"></param>
/// <param name="cancelUrl"></param>
public static void ConfirmBox( Page page, string message, string confirmUrl, string cancelUrl )
{
StringBuilder sb = new StringBuilder();
sb.Append("<script Language=JavaScript>");
sb.Append("if ( confirm( '"+ message +"' ) == true ){window.location.href='"+ confirmUrl +"';}");
sb.Append("else{window.location.href='"+ cancelUrl +"';}</script>");
if ( ! page.IsClientScriptBlockRegistered( "ConfirmSuccess" ) )
{
page.RegisterClientScriptBlock( "ConfirmSuccess", sb.ToString() );
}
}
#endregion
#region public static void OpenNewModalPage
public static void OpenNewModalPage( Page page, string pageUrl )
{
int pageWidth = 430;
int pageHeight = 280;
OpenNewModalPage( page, pageUrl, pageWidth, pageHeight );
}
public static void OpenNewModalPage( Page page, string pageUrl, int pageWidth, int pageHeight )
{
string scriptName = "OpenNewModalPage-" + Common.GetRandNum( 8 );
OpenNewModalPage( page, pageUrl, pageWidth, pageHeight, scriptName );
}
/// <summary>
/// 打开一个新页面
/// </summary>
/// <param name="page">当前页面的指针,一般为this</param>
/// <param name="pageUrl">新页面的URL</param>
/// <param name="pageWidth">新页面宽</param>
/// <param name="pageHeight">新页面高</param>
/// <param name="scriptName">新页面脚本的名称,为英文字符串</param>
public static void OpenNewModalPage( Page page, string pageUrl, int pageWidth, int pageHeight, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "var arr = showModalDialog(\""+ pageUrl +"\", \"\", \"dialogWidth:"+ pageWidth +"px;dialogHeight:"+pageHeight+"px;help:0;status:0\");" );
StrScript.Append( "if ( arr != null )" );
StrScript.Append( "{" );
StrScript.Append( "location.href='"+ CommonUrl.AppendParm( page.Request.RawUrl ) +"';" );
StrScript.Append( "}" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region public static void CloseModalWindow
public static void CloseModalWindow( Page page, string returnValue )
{
string scriptName = "CloseModalWindow-" + Common.GetRandNum( 8 );
CloseModalWindow( page, returnValue, scriptName );
}
public static void CloseModalWindow( Page page, string returnValue, string scriptName )
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( "window.returnValue = "+returnValue+";" );
StrScript.Append( "window.close();" );
StrScript.Append( "</script>" );
if ( ! page.IsStartupScriptRegistered( scriptName ) )
{
page.RegisterStartupScript( scriptName, StrScript.ToString() );
}
}
#endregion
#region 页面控制
/// <summary>
/// 提示信息后,页面退到上一页
/// </summary>
/// <param name="message">提示信息</param>
public static void AlertMesg( string message )
{
AlertMesg(message, "BACK" );
}
/// <summary>
/// 提示信息后,跳转到URL对应页,当URL为BACK时,页面将退到上一页,当URL为CLOSE时,则关闭窗口
/// </summary>
/// <param name="message">提示信息</param>
/// <param name="URL">提示信息后要跳转的页面</param>
public static void AlertMesg( string message, string URL )
{
AlertMesg( message, URL, true );
}
/// <summary>
/// 提示信息后,跳转到URL对应页,当URL为BACK时,页面将退到上一页,当URL为CLOSE时,则关闭窗口
/// </summary>
/// <param name="message">提示信息</param>
/// <param name="URL">提示信息后要跳转的页面</param>
/// <param name="allowBack">跳转后是否允许回到上一页</param>
public static void AlertMesg(string message,string URL,bool allowBack)
{
HttpContext.Current.Response.Write("<Script Language=Javascript>alert('");
HttpContext.Current.Response.Write( message );
HttpContext.Current.Response.Write("');");
switch (URL.ToUpper())
{
case "BACK": HttpContext.Current.Response.Write("history.go(-1);");
break;
case "CLOSE": HttpContext.Current.Response.Write("window.close();");
break;
default:
{
if(allowBack)
{
HttpContext.Current.Response.Write("location.href='");
HttpContext.Current.Response.Write(URL);
HttpContext.Current.Response.Write("';");
}
else
{
HttpContext.Current.Response.Write("location.replace('");
HttpContext.Current.Response.Write(URL);
HttpContext.Current.Response.Write("');");
}
break;
}
}
HttpContext.Current.Response.Write("</Script>");
HttpContext.Current.Response.End();
}
#endregion
}