手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >ASP.NET中常用输出JS脚本的类实例
ASP.NET中常用输出JS脚本的类实例
摘要:本文实例讲述了ASP.NET中常用输出JS脚本的类,针对过去输出js脚本的类进行了一定的改进。在项目开发中非常具有实用价值。分享给大家供大家...

本文实例讲述了ASP.NET中常用输出JS脚本的类,针对过去输出js脚本的类进行了一定的改进。在项目开发中非常具有实用价值。分享给大家供大家参考。具体如下:

很多时候在ASP.NET中我们经常需要输出一些JS脚本,比如弹出一个警告窗口,返回到历史页面等JS功能,我看到网上流传得比较广的是马先光写的一个JScript类,这个类基本将经常用到的JS脚本包含了,非常方便,唯一的不足是作者采用的Response.Write(string msg)的办法,这样造成输出的js脚本在<html></html>标签之外,破坏了原有XHTML的结构,所以本人在满足原功能的情况下,对JScript类做了进一步的改善,这个改善采用了重载的办法,增加了一个System.Web.UI.Page类的实例作为参数,不会影响原来的程序代码。

整个程序的代码如下:

复制代码 代码如下:using System;

using System.Collections.Generic;

using System.Text;

using System.Web;

using System.Web.UI;

/// <summary>

/// 一些常用的Js调用

/// 添加新版说明:由于旧版普遍采用Response.Write(string msg)的方式输出js脚本,这种

/// 方式输出的js脚本会在html元素的<html></html>标签之外,破坏了整个xhtml的结构,

/// 而新版本则采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,

/// 不会影响执行效果。

/// 为了向下兼容,所以新版本采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。

/// 创建者:马先光

/// 新版作者:周公

/// 修改版发布网址:http://blog.csdn.net/zhoufoxcn

/// </summary>

public class JScript

{

#region 旧版本

/// <summary>

/// 弹出JavaScript小窗口

/// </summary>

/// <param name="js">窗口信息</param>

public static void Alert(string message)

{

#region

string js = @"<Script language='JavaScript'>

alert('" + message + "');</Script>";

HttpContext.Current.Response.Write(js);

#endregion

}

/// <summary>

/// 弹出消息框并且转向到新的URL

/// </summary>

/// <param name="message">消息内容</param>

/// <param name="toURL">连接地址</param>

public static void AlertAndRedirect(string message, string toURL)

{

#region

string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";

HttpContext.Current.Response.Write(string.Format(js, message, toURL));

#endregion

}

/// <summary>

/// 回到历史页面

/// </summary>

/// <param name="value">-1/1</param>

public static void GoHistory(int value)

{

#region

string js = @"<Script language='JavaScript'>

history.go({0});

</Script>";

HttpContext.Current.Response.Write(string.Format(js, value));

#endregion

}

/// <summary>

/// 关闭当前窗口

/// </summary>

public static void CloseWindow()

{

#region

string js = @"<Script language='JavaScript'>

parent.opener=null;window.close();

</Script>";

HttpContext.Current.Response.Write(js);

HttpContext.Current.Response.End();

#endregion

}

/// <summary>

/// 刷新父窗口

/// </summary>

public static void RefreshParent(string url)

{

#region

string js = @"<Script language='JavaScript'>

window.opener.location.href='" + url + "';window.close();</Script>";

HttpContext.Current.Response.Write(js);

#endregion

}

/// <summary>

/// 刷新打开窗口

/// </summary>

public static void RefreshOpener()

{

#region

string js = @"<Script language='JavaScript'>

opener.location.reload();

</Script>";

HttpContext.Current.Response.Write(js);

#endregion

}

/// <summary>

/// 打开指定大小的新窗体

/// </summary>

/// <param name="url">地址</param>

/// <param name="width">宽</param>

/// <param name="heigth">高</param>

/// <param name="top">头位置</param>

/// <param name="left">左位置</param>

public static void OpenWebFormSize(string url, int width, int heigth, int top, int left)

{

#region

string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";

HttpContext.Current.Response.Write(js);

#endregion

}

/// <summary>

/// 转向Url制定的页面

/// </summary>

/// <param name="url">连接地址</param>

public static void JavaScriptLocationHref(string url)

{

#region

string js = @"<Script language='JavaScript'>

window.location.replace('{0}');

</Script>";

js = string.Format(js, url);

HttpContext.Current.Response.Write(js);

#endregion

}

/// <summary>

/// 打开指定大小位置的模式对话框

/// </summary>

/// <param name="webFormUrl">连接地址</param>

/// <param name="width">宽</param>

/// <param name="height">高</param>

/// <param name="top">距离上位置</param>

/// <param name="left">距离左位置</param>

public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left)

{

#region

string features = "dialogWidth:" + width.ToString() + "px"

+ ";dialogHeight:" + height.ToString() + "px"

+ ";dialogLeft:" + left.ToString() + "px"

+ ";dialogTop:" + top.ToString() + "px"

+ ";center:yes;help=no;resizable:no;status:no;scroll=yes";

ShowModalDialogWindow(webFormUrl, features);

#endregion

}

/// <summary>

/// 弹出模态窗口

/// </summary>

/// <param name="webFormUrl"></param>

/// <param name="features"></param>

public static void ShowModalDialogWindow(string webFormUrl, string features)

{

string js = ShowModalDialogJavascript(webFormUrl, features);

HttpContext.Current.Response.Write(js);

}

/// <summary>

/// 弹出模态窗口

/// </summary>

/// <param name="webFormUrl"></param>

/// <param name="features"></param>

/// <returns></returns>

public static string ShowModalDialogJavascript(string webFormUrl, string features)

{

#region

string js = @"<script language=javascript>

showModalDialog('" + webFormUrl + "','','" + features + "');</script>";

return js;

#endregion

}

#endregion

#region 新版本

/// <summary>

/// 弹出JavaScript小窗口

/// </summary>

/// <param name="js">窗口信息</param>

public static void Alert(string message, Page page)

{

#region

string js = @"<Script language='JavaScript'>

alert('" + message + "');</Script>";

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);

}

#endregion

}

/// <summary>

/// 弹出消息框并且转向到新的URL

/// </summary>

/// <param name="message">消息内容</param>

/// <param name="toURL">连接地址</param>

public static void AlertAndRedirect(string message, string toURL, Page page)

{

#region

string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";

//HttpContext.Current.Response.Write(string.Format(js, message, toURL));

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));

}

#endregion

}

/// <summary>

/// 回到历史页面

/// </summary>

/// <param name="value">-1/1</param>

public static void GoHistory(int value, Page page)

{

#region

string js = @"<Script language='JavaScript'>

history.go({0});

</Script>";

//HttpContext.Current.Response.Write(string.Format(js, value));

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));

}

#endregion

}

// /// <summary>

// /// 关闭当前窗口

// /// </summary>

// public static void CloseWindow()

// {

// #region

// string js = @"<Script language='JavaScript'>

// parent.opener=null;window.close();

// </Script>";

// HttpContext.Current.Response.Write(js);

// HttpContext.Current.Response.End();

// #endregion

// }

/// <summary>

/// 刷新父窗口

/// </summary>

public static void RefreshParent(string url, Page page)

{

#region

string js = @"<Script language='JavaScript'>

window.opener.location.href='" + url + "';window.close();</Script>";

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);

}

#endregion

}

/// <summary>

/// 刷新打开窗口

/// </summary>

public static void RefreshOpener(Page page)

{

#region

string js = @"<Script language='JavaScript'>

opener.location.reload();

</Script>";

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);

}

#endregion

}

/// <summary>

/// 打开指定大小的新窗体

/// </summary>

/// <param name="url">地址</param>

/// <param name="width">宽</param>

/// <param name="heigth">高</param>

/// <param name="top">头位置</param>

/// <param name="left">左位置</param>

public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page)

{

#region

string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);

}

#endregion

}

/// <summary>

/// 转向Url制定的页面

/// </summary>

/// <param name="url">连接地址</param>

public static void JavaScriptLocationHref(string url, Page page)

{

#region

string js = @"<Script language='JavaScript'>

window.location.replace('{0}');

</Script>";

js = string.Format(js, url);

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);

}

#endregion

}

/// <summary>

/// 打开指定大小位置的模式对话框

/// </summary>

/// <param name="webFormUrl">连接地址</param>

/// <param name="width">宽</param>

/// <param name="height">高</param>

/// <param name="top">距离上位置</param>

/// <param name="left">距离左位置</param>

public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page)

{

#region

string features = "dialogWidth:" + width.ToString() + "px"

+ ";dialogHeight:" + height.ToString() + "px"

+ ";dialogLeft:" + left.ToString() + "px"

+ ";dialogTop:" + top.ToString() + "px"

+ ";center:yes;help=no;resizable:no;status:no;scroll=yes";

ShowModalDialogWindow(webFormUrl, features, page);

#endregion

}

/// <summary>

/// 弹出模态窗口

/// </summary>

/// <param name="webFormUrl"></param>

/// <param name="features"></param>

public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)

{

string js = ShowModalDialogJavascript(webFormUrl, features);

//HttpContext.Current.Response.Write(js);

if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))

{

page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);

}

}

// /// <summary>

// /// 弹出模态窗口

// /// </summary>

// /// <param name="webFormUrl"></param>

// /// <param name="features"></param>

// /// <returns></returns>

// public static string ShowModalDialogJavascript(string webFormUrl, string features)

// {

// #region

// string js = @"<script language=javascript>

// showModalDialog('" + webFormUrl + "','','" + features + "');</script>";

// return js;

// #endregion

// }

#endregion

}

希望本文所述对大家的C#程序设计有所帮助。

【ASP.NET中常用输出JS脚本的类实例】相关文章:

ASP.NET 多次提交的解决办法

浅谈ASP.NET中最简单的自定义控件

ASP.NET中母版页和shtml实例入门

ASP.NET 页面中加添加用户控件的写法

一个ASP.NET中使用的MessageBox类

ASP.NET中高质量缩略图的生成代码

在ASP.NET中重写URL的代码

ASP.NET常用代码

ASP.NET中Application全局对象用法实例浅析

ASP.NET中常用的优化性能的方法

精品推荐
分类导航