Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >服务器端加入自动运行的JS代码

服务器端加入自动运行的JS代码

作者头像
用户1075292
发布于 2018-01-23 03:24:10
发布于 2018-01-23 03:24:10
2.1K0
举报
文章被收录于专栏:听雨堂听雨堂

          本来不是一个很复杂的事情,就是想通过服务器的代码,控制客户端加载时运行一个js函数。却折腾了一个早上,首先是用

代码语言:js
AI代码解释
复制
          page.ClientScript.RegisterClientScriptBlock(typeof(string), "FomrJS", js);

          这个js块将放在</form>之前,并在window.onload之前运行。假如不是复杂的代码的话,如alert之类,完全没有问题。但我用到的js函数刚好比较复杂,结果每次都报错。把代码复制出来,把js块挪到</form>和</body>之间,就ok。所以,考虑怎样把js块放到</form>之外。

           找到一个可以加到<head>标签的方法:

代码语言:js
AI代码解释
复制
            //加入head
             HtmlGenericControl Include2 = new HtmlGenericControl("script");
             Include2.Attributes.Add("type", "text/javascript");
             Include2.InnerHtml = js;
             page.Header.Controls.Add(Include2);

            但是,却无法访问body或者document对象,只能访问form对象,对应的是form标签,或者page.controls,却把代码加到</body>之外了。

            只好测试onload方法,但我不想每次手工给页面的body标签加onload,希望能够纯粹用服务器方式写这个事件处理,结果仍然由于无法访问body标签,无法成功。

          最后的方法,是用RegisterClientScriptBlock,执行一个代码,指定事件的处理,如下:

代码语言:js
AI代码解释
复制
          page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "window.attachEvent('onload', function(){alertWin('标题dfadsa','这里是内容',300,200);})", true);

或者

代码语言:js
AI代码解释
复制
          page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "document.body.onload=function(){alertWin('标题dfadsa','这里是内容',300,200);}", true);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-09-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ClientScriptManager.RegisterStartupScript.
当我们要注册一个在页面启动的脚本时,我们会用ClientScriptManager.RegisterStartupScript 。
全栈程序员站长
2022/09/09
4250
Page.ClientScript.RegisterStartupScript() 方法「建议收藏」
Page.ClientScript.RegisterStartupScript() 方法 与Page.ClientScript.RegisterClientScriptBlock() 方法
全栈程序员站长
2022/09/09
2.2K0
ajaxFileUpload文件
从网上下了个ajaxfileupload的文件,结果不支持ie,又出现各种问题,上网查了,修改了可以支持各种浏览器。
Dylan Liu
2019/07/01
6560
ScriptManager.RegisterStartupScript方法[通俗易懂]
Page.ClientScript.RegisterStartupScript(Page.GetType(), “”, “<script>window.open(‘default2.aspx’)</script>”); 如果页面中使用了Ajax ,则上述代码即使执行也无效果。对这种情况我们通常采用: ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), “alertScript”, “window.open(‘default2.aspx’);”, true); 其中第一个参数为要注册脚本的控件ID,试了一下,只要是本页面的就行。 第二个参数为注册脚本控件类型,是控件还是this的GetType()都可以,typeOf(string)也没问题. 第三个脚本函数的名字,随便起。 第四个是脚本内容。 第五个是标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。
全栈程序员站长
2022/09/14
4870
耗时很长的服务器端事件中让客户端得到中间过程信息的合理解决方案(续)
原文地址:http://www.cnblogs.com/liulun/archive/2008/08/17/1269675.html
liulun
2022/05/08
1.2K0
发布一个日期选择控件(ASPNET2.0)
The Coolest DHTML Calendar,这是一个在GPL下发布的JS日历程序,具有极高的可配置性,包括外观样式、显示格式、显示内容等等。默认程序是只提供日期选择的,需要设置几个showtime参数才能显示时间选择。下载的程序包(zip)里面已经有详细的说明文档和例子. 这个控件的aspnet 1.1版本的代码在我的donews blog上,代码可以自由修改发布. 代码和示例下载地址:demo using System; using System.Web; using System.Web.U
张善友
2018/01/19
1.9K0
ScriptManager.RegisterStartupScript 方法
1、ScriptManager.RegisterStartupScript 方法 (Page, Type, String, String, Boolean):
全栈程序员站长
2022/09/09
6920
耗时很长的服务器端事件中让客户端得到中间过程信息的合理解决方案
需求: B/S结构的系统里,用户点一个按钮系统开始发送上千封邮件,要求把发送信息(发送成功数,失败数,剩余数量...)动态实时的反馈给客户.
liulun
2022/05/08
5870
JavaScript跨域解决方式
平时工作中经常被JavaScript跨域问题所困扰,其实有很多种解决方式,下面给大家介绍常用的几种:
Jack Chen
2018/09/14
7940
JavaScript跨域解决方式
编写高质量 JavaScript -- 知识点小记
此番改善之后,匿名function里面的变量作用域不再是window,而是局限在函数内。
书童小二
2018/09/03
1.4K0
web跨域解决方案
阅读目录 什么是跨域 常用的几种跨域处理方法: 跨域的原理解析及实现方法 总结 摘要:跨域问题,无论是面试还是平时的工作中,都会遇到,本文总结处理跨域问题的几种方法以及其原理,也让自己搞懂这方面的知识,走起。 什么是跨域     在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。   JavaScript这个安全策
hbbliyong
2018/03/06
2.8K0
web跨域解决方案
Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件
配置环境 配置环境完全在此前一篇文章搭建好的环境下进行配置: http://www.cnblogs.com/zhongweiv/archive/2013/01/04/win2008_addomain_configuration.html Windows版本:Windows Server 2008 R2 Enterprise                      Service Pack 1 系统类型:       64 位操作系统 所在域:          adserv.com E
Porschev
2018/03/28
2.6K0
无需写try/catch,也能正常处理异常
对于企业应用的开发者来说,异常处理是一件既简单又复杂的事情。说其简单,是因为相关的编程无外乎try/catch/finally+throw而已;说其复杂,是因为我们往往很难按照我们真正需要的策略来处理异常。我一直有这样的想法,理想的企业应用开发中应该尽量让框架来完成对异常的处理,最终的开发人员在大部分的情况下无需编写异常处理相关的任何代码。在这篇文章中我们将提供一个解决方案来让ASP.NET应用利用EntLib的异常处理模块来实现自动化的异常处理。 源代码: Sample1[通过重写Page的OnL
蒋金楠
2018/01/15
1.1K0
无需写try/catch,也能正常处理异常
总结收藏的41个JavaScript实用技巧
在文件的根目录放进去这个图片,后缀修改成ico就可以了 6. 可以在收藏夹中显示出你的图标
csxiaoyao
2019/02/18
1.5K0
实用的JS代码段(表单篇)
整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法   由于onload方法时在页面加载完成后,自动调用的。因此被广泛的使用,但是弊端是只能实用onload执行一个方法。下面代码段,可以保证多个方法在Onload时执行: function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != 'function'
用户1154259
2018/01/17
2.1K0
100个常用的 JS 代码片段分享,值得你收藏
function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 } strre += temp } else { break } } return strre + "..." }
前端达人
2021/10/08
2.4K0
AttributeCollection类与Attributes.Add方法的使用[通俗易懂]
AttitudeCollection隶属于namespace System.Web.UI命名空间。AttributeCollection类属于集合类,具有其他集合所共有的一些属性。AttributeCollection类用来封装服务器控件的所有属性,可实现对服务器属性集合的添加和删除。控件的属性包括颜色、样式、名称等,这些属性都可以通过AttributeCollection类访问到。
全栈程序员站长
2022/11/09
1.7K0
如何在DataGrid里面产生滚动条而不滚动题头
我们在开发的时候一定遇到,使用DataGrid的时候由于不想分页(数据没有那么多)但是又显示不在一页里面,此时我们希望在DataGrid里面出现一个滚动条,可以上下滚动DataGrid里面的数据而不用上下滚动页面,由于写本文的目的是为了说明如何实现,所以对于细节性的问题读者可以自己思考完成(比如:既要分页又要滚动等等)。为了可以滚动DataGrid我们需要一个可以让客户端的Table滚动js脚本(该js代码我是从CodeProject上面下载的),但又不能滚动Table的题头(也就是第一行)。我们都知道Da
阿新
2018/04/13
1.6K0
41个Web开发者都收藏的实用代码
        1. 将彻底屏蔽鼠标右键 oncontextmenu="window.event.returnValue=false" <table border oncontextmenu=return(false)><td>no</table> 可用于 Table         2. 取消选取、防止复制 <body onselectstart="return false">         3.JS不允许粘贴 onpaste="return false"         4. JS防止复制
Youngxj
2018/06/06
2.4K0
231个web前端的javascript特效分享(仅供本人学习,非教程类型)
<input type=”text” value=”郭强”onfocus=”if(value==’郭强’) {value=”}”onblur=”if
botkenni
2019/09/03
1.4K0
推荐阅读
相关推荐
ClientScriptManager.RegisterStartupScript.
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档