最近突然写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. 高性能页面加载技术(流水线加载)BigPipe的C#简单实现(附源码)

    一,BigPipe简介 BigPipe是一个重新设计的基础动态网页服务体系.大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行.这是类似于 ...

  2. 调优UWSGI,后台启动,热更改PY,杜绝502

    记得加启动参数: --daemonize /var/log/uwsgi.log --post-buffering 32768 --buffer-size 32768 reload.set #!/bin ...

  3. Hibernate 注意命名与数据库关键字的冲突 处理方法

    比如你映射了一个名称为key的属性,这是数据库所不允许的,因为它是数据库的关键字. 因此,你必须为此属性添加一对符号,即键盘上“1”键的左边的按键.

  4. C语言嵌入式系统编程修炼之六:性能优化

    使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法.对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法. 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的 ...

  5. PendingIntent的Flags

    PendingIntent是一个Intent的描述.包装,给予了这个PendingIntent 的组件在指定的事件发生或指定的时间到达时启动Activty.Service或者Broadcast. 根据 ...

  6. 【HDOJ】1881 毕业bg

    01背包. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 1005 ty ...

  7. Lowest Common Ancestor of a Binary Tree——Leetcode

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  8. JavaScript高级程序设计18.pdf

    系统对话框 alert().confirm()和prompt()调用系统对话框向用户显示消息,显示对话框的时候代码会停止执行,关闭后继续执行 alert()警告提示框 confirm()点击确认返回t ...

  9. C# Dictionary的xml序列化

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  10. 在Openstack H版部署Nova Cell 时 ,终端输入nova service-list 和 nova host-list 命令将报错

    关于Cell的基本介绍,可以参考贤哥的一篇文章: [OpenStack]G版中关于Nova的Cell  http://blog.csdn.net/lynn_kong/article/details/8 ...