最近突然写ASP.NET项目,用到向前台输出JS脚本,但是以前在MVC里是通过异步或者一些方法来调用,但是ASP.net用到的很少。在网上找到一个HELPER.CS.保存一下,以后再用。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
namespace CLB.Utility.WebTools
{
public static class JsHelper
{
public static void SetJS(string js, Page page, string jsName)
{
string str = "<script type=\"text/javascript\" language=\"javascript\">{0}</script>";
js = string.Format(str, js);
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), jsName))
{
page.ClientScript.RegisterStartupScript(page.GetType(), jsName, js);
}
}
///<summary>
///弹出JavaScript小窗口
///</summary>
///<paramname="js">窗口信息</param>
public static void Alert(string message, Page page)
{
string js = @"alert('" + message + "');";
SetJS(js, page, "alert");
}
///<summary>
///弹出消息框并且转向到新的URL
///</summary>
///<paramname="message">消息内容</param>
///<paramname="toURL">连接地址</param>
public static void AlertAndRedirect(string message, string toURL, Page page)
{
#region
string js = string.Format("alert('{0}');window.location.replace('{1}')", message, toURL);
SetJS(js, page, "AlertAndRedirect");
#endregion
}
///<summary>
///回到历史页面
///</summary>
///<paramname="value">-1/1</param>
public static void GoHistory(int value, Page page)
{
string js = string.Format("history.go({0});", value);
SetJS(js, page, "GoHistory");
}
///<summary>
///刷新父窗口
///</summary>
public static void RefreshParent(string url, Page page)
{
#region
string js = @"window.opener.location.href='" + url + "';window.close();";
SetJS(js, page, "RefreshParent");
#endregion
}
/// <summary>
/// 刷新打开窗口
/// </summary>
/// <param name="page"></param>
public static void RefreshOpener(Page page)
{
#region
string js = @"opener.location.reload();";
SetJS(js, page, "RefreshOpener");
#endregion
}///<summary>
///打开指定大小位置的模式对话框
///</summary>
///<paramname="webFormUrl">连接地址</param>
///<paramname="width">宽</param>
///<paramname="height">高</param>
///<paramname="top">距离上位置</param>
///<paramname="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
}
public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
{
string js = @"showModalDialog('" + webFormUrl + "','','" + features + "');";
SetJS(js, page, "ShowModalDialogWindow");
}
}
}

转自http://www.codefans.net/articles/1680.shtml 谢谢作者分享

Asp.net中向前端输出JS的一些调用的更多相关文章

  1. asp.net后台向前端输出js脚本的三种方法

    //这个方法最快,因为它会输出到html标签之前 Response.Write("<script type='text/javascript'>alert('这个最快')< ...

  2. ASP.NET MVC Partial页输出JS

    很多情况Partial是需要引用到JS的,通常做法是吧JS在引用Partial的页面中加入JS文件或者JS代码. 前阵子网上看到一段代码可以在Partial页面中添加JS,输出道引用页面. publi ...

  3. ASP.NET中图片验证码与js获取验证码的值

    现在的程序中,为了防止用户恶意点击,我们一般都会加上验证,现在比较普遍的是加上图片验证码或者手机短信验证.验证码一般都是防机器不防人,有效的防止了恶意点击. 那么在webform中如何生成动态的图片验 ...

  4. ASP.NET中母版页引用外部js或css文件无效,提示对象未定义解决方法

    最近做网站用了一个js+css实现的带有二级菜单的导航条,在母版页创建好后,子页面调用出现了许多奇怪的问题,多方查证后的最终解决方案和大家分享下.... 1.路径问题 如果是一个单独的aspx页面调用 ...

  5. ASP.net中的Cache使用介绍

    1.1.1 摘要(http://www.cnblogs.com/rush/archive/2012/06/30/2571438.html) 最近我们的系统面临着严峻性能瓶颈问题,这是由于访问量增加,客 ...

  6. ASP.NET后台输出js大全,页面顶部、form表单中前面与后面、和UpdatePanel(ScriptManager、AJAX)输出JS

    Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...

  7. ASP.NET后台输出js脚本代码

    利用asp.net输出js我们大多数都会直接使用Respone.Write()然后根js格式的代码,再在页面调用时我们直接这样是完全可以实现的,下面我来给大家介绍另一种方法 我是我最初的想法以下是代码 ...

  8. MVC中如何在controller的action中输出JS到页面上

    MVC中如何在controller的action中输出JS到页面上 可以通过Http上下文对象(httpContext)就可以了,在Action中的HttpContext就是这个Action所指向的页 ...

  9. asp.net中,我们使用ashx获取数据列表,在前端使用$.ajax()解析

    一直在想在asp.net中怎么才能向在java中那样用struts那样做页面请求. 当然asp.net mvc就是类似struts的东西吧,不过还没来得及学习. 今天就用ashx来接收页面请求,并调用 ...

随机推荐

  1. HttpRuntime类的缓存以及redis,memercache

    http://www.cnblogs.com/kissdodog/archive/2013/05/07/3065208.html

  2. bzoj 1406: [AHOI2007]密码箱 二次剩餘

    1406: [AHOI2007]密码箱 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 701  Solved: 396[Submit][Status] D ...

  3. 树莓派(jessie)制作服务并开机启动

    /etc/init.d/xware #!/bin/sh ### BEGIN INIT INFO # Provides: svn_serve # Required-Start: $remote_fs # ...

  4. Dictionary Size

    uvaLive5913:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...

  5. win7电脑自动关机怎么设置

    WIN7系统自带了关机工具的,下面是步骤 1.“开始”-右键点击“计算机”选择“管理”,在左侧界面中选择“任务计划程序”. 2.在右侧界面中选择“创建基本任务”(向导式创建任务,推荐新手使用)或者“创 ...

  6. Node.js权威指南 (7) - 实现基于TCP与UDP的数据通信

    7.1 使用net模块实现基于TCP的数据通信 / 136 7.1.1 创建TCP服务器 / 136 7.1.2 socket端口对象 / 142 7.1.3 创建TCP客户端 / 151 7.1.4 ...

  7. POJ1218

    Problem  C Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Total Su ...

  8. Hibernate(一)JDBC简介

    在了解Hibernate之前,我们先回顾一下传统JDBC访问数据库的相关内容.重点在于分析JDBC访问存在哪些 缺陷,这些缺陷在Hibernate中是如何思考和解决的? JDBC主要对象 DriveM ...

  9. Longest Consecutive Sequence hashset

    public class Solution { public int longestConsecutive(int[] num) { HashSet<Integer> hash=new H ...

  10. Nginx + Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...