博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别
阅读量:6169 次
发布时间:2019-06-21

本文共 1591 字,大约阅读时间需要 5 分钟。

Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别 方法1,使用Response.Write,这种方法会把JS代码写在页面的最顶部(的前面):System.Web.HttpContext.Current.Response.Write("");方法2,使用RegisterStartupScript,这种方法会把JS代码嵌入在页面的底部、表单的最后 (前面),适用于要在页面控件加载完成后运行的JS代码 :System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(),"clientScript"))    page.ClientScript.RegisterStartupScript(page.GetType(), "clientScript", "");方法3,使用RegisterClientScriptBlock,这种方法会把JS代码嵌入在页面的顶部、表单的最前 (
后面),适用于要在控件加载前执行的JS代码,类似于上面的Response.Write方式 :System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;if (!page.ClientScript.IsClientScriptBlockRegistered(page.GetType(),"clientScript")) page.ClientScript.RegisterClientScriptBlock(page.GetType(), "clientScript", "
"); 那么,方法2和方法3之间有何不同呢?主要区别在于,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素
的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素
的紧后面。那么,这有何不同呢?正如我们将要看到的,这有很大的不同。就此列举一例,以下是在页面加载到浏览器时,将焦点置于该页面上的一个文本框中的方法 - 使用利用了 RegisterStartupScript 方法的 Visual Basic:Page.ClientScript.RegisterStartupScript(Me.GetType(), "Testing", _ "document.forms[0]['TextBox1'].focus();", True)由于在浏览器运行到页面底部并执行此小段 JavaScript 时,就已生成了页面上的文本框,并已将其放到了页面中,因此,此方法运行正常。但是,如果不按照上述方法,而编写如下代码(使用 RegisterClientScriptBlock 方法):Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Testing", _ "document.forms[0]['TextBox1'].focus();", True)文本框控件将不会获得焦点,且会在页面上生成一个 JavaScript 错误

 

转载地址:http://jljba.baihongyu.com/

你可能感兴趣的文章
MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(5)
查看>>
C#提取字符串中的数字字符串
查看>>
python 异常处理
查看>>
Alpha 冲刺 (8/10)
查看>>
PHP正则表达式笔记和实例
查看>>
jQuery中的.live()与die()
查看>>
C++ 中的sort排序用法
查看>>
Vue_声明周期
查看>>
代码复审结果报告
查看>>
xxx.xxx.0.0/16 和 xxx.xxx.0.0/24的区别
查看>>
跟我学SharePoint 2013视频培训课程——网站导航及页面元素(2)
查看>>
Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的
查看>>
贵宾一本足够全本
查看>>
Remember the Word,LA3942(Trie树+DP)
查看>>
掌握SQL Monitoring这些特性,SQL优化
查看>>
[改善Java代码]建议40:匿名类的构造函数很特殊
查看>>
基于DDD的.NET开发框架 - ABP初探
查看>>
用 phpize 编译共享 PECL 扩展库
查看>>
《税收数据终端泄露防范及案例分析》
查看>>
String与InputStream相互转换
查看>>