ClientScript.RegisterStartupScript()与ScriptManager.RegisterStartupScript()

page类:
1、页头中inherits标识继承于哪个类。partial标

识局部的,类的一部分,编译的时候 把同名的

partial合并成一个完整的class文件,然后编译成

中间文件。
2、.net页面的生命周期,控件的生命周期,生命周

期的应用。页面-属性-document-trace设为true,

运行页面可以看到跟踪信息。
3、统一验证身份的方法,写一个验证的类文件(类

文件中添加this.Load+=new eventhander

(thisLoad) void thisLoad(object

sender,eventarge e){if(session["username"]

==null){response.redirect("login.aspx");}})

,让需要验证的页继承这个类。(第五集26分钟)
4、page类的属性:page.ispostback

(),clientscript。45分钟,有个js类,方便输出

js题型。
5、回调技术(52分钟),无刷新局部判断(要比

ajax复杂)。

clientscript  Page.ClientScript.RegisterStartupScript()介绍

page.RegisterStartupScript在新的版本中已经过期了 取而代之的是其他两种方法。

ScriptManager和ClientScript的区别,他俩的方法是一样的,只是在特殊的场合要注意使用。

ScriptManager适用在特殊的场合,那么我们在控件中如何来进行区分应该使用哪一个呢?其实可以通过寻找控件的parent,判断是否有updatepanel,如果有就用ScriptManager;没有的话当然用ClientScript,避免每次postback操作时控件都要进行资源文件的注册。也就是说 是否兼容ajax的问题,ScriptManager兼容于ajax,在ajax updatepanel中使用ClientScript是无效的。这里是要特别注意的,本人就因为这个折磨了一下午了。

使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本。 也就是说利用.net函数向页面中添加scrip函数

参数

type

要注册的启动脚本的类型。

key

要注册的启动脚本的键。

script

要注册的启动脚本文本。

addScriptTags

指示是否添加脚本标记的布尔值.


tips:


启动脚本由它的键和类型唯一标识。具有相同的键和类型的脚本被视为重复脚本。只有使用给定的类型和键对的脚本才能使用该页面进行注册。试图注册一个已经注册的脚本不会创建重复的脚本。

调用 IsStartupScriptRegistered 方法以确定具有给定的键和类型对的启动脚本是否已经注册,从而避免不必要的添加脚本尝试。

在 RegisterStartupScript 方法的此重载中,使用 addScriptTags 参数可指示 script 参数中提供的脚本是否包装在 <script> 元素块中。将 addScriptTags 设置为 true 指示脚本标记将自动添加。

RegisterStartupScript 方法添加的脚本块在页面加载完成但页面的 OnLoad 事件引发之前执行。


举例说明

<%@ Page Language="C#"%>
<script runat="server">
public void Page_Load(Object sender, EventArgs e)
{
// Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
String csname2 = "ButtonClickScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
String cstext1 = "alert(‘Hello World‘);";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);
}
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
{
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=text/javascript> function DoClick() {");
cstext2.Append("Form1.Message.value=‘Text from client script.‘} </");
cstext2.Append("script>");
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}
}
</script>
<html>
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1"
runat="server">
<input type="text" id="Message"> <input type="button" value="ClickMe" onclick="DoClick()">
</form>
</body>
</html>
注意两个函数的使用,一个是start添加到页面加载之前,在pageload之前执行,另外一个是在加载页面之后执行。这两个函数的主要作用是将scrip动态的嵌入到.net的代码中,适合处理大批的js代码,比如你要组一个js的消息提示框,需要和服务器交互,那么你可以把js代码写成字符串用这两个函数输出。这样就可以轻松的和服务器交互了。
时间: 2024-08-24 04:48:14

ClientScript.RegisterStartupScript()与ScriptManager.RegisterStartupScript()的相关文章

ScriptManager.RegisterStartupScript

如果页面中不用Ajax,cs中运行某段js代码方式可以是:Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");如果页面中使用了Ajax ,则上述代码即使执行也无效果.对这种情况我们通常采用:ScriptManager.RegisterStartupScript(this.Butt

.net 弹窗方式

Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('请输入正确的用户名和密码!');</script>"); 在.NET WEB应用上弹出消息框,我试验成功的有下面的几种,若有其他方法,望您不吝赐教.1.只弹出提示消息.        方法一:          string script = "<script> aler

asp.net中Page.ClientScript.RegisterStartupScript用法小结(转)

//ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript.

asp.net--Page.ClientScript.RegisterStartupScript用法

//ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')) {location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript

Page.ClientScript.RegisterStartupScript用法小结

使用类型.键.脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本. 参数 type 要注册的启动脚本的类型. key 要注册的启动脚本的键. script 要注册的启动脚本文本. addScriptTags 指示是否添加脚本标记的布尔值. 备注: 启动脚本由它的键和类型唯一标识.具有相同的键和类型的脚本被视为重复脚本.只有使用给定的类型和键对的脚本才能使用该页面进行注册.试图注册一个已经注册的脚本不会创建重复的脚本. 调用 IsStartupScriptRegistered 方

C#后台调用前台js(RegisterStartupScript)

C#后台调用前台js代码前台js<script type="text/javascript" language="javascript"> function Ceshi() { var a = "你们好啊!" alert(a); }</script><asp:Button ID="Button1" runat="server" Text="后台调用js" o

C# 从后台代码同步或异步注册Javascript到页面之RegisterStartupScript和RegisterClientScriptBlock的区别

下面来讲讲同步注册JS和异步注册JS的区别 同步注册JS:RegisterClientScriptBlock,相当于在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块,在HTML节点还没加载的时候就可以先注册JS了 异步注册JS:RegisterStartupScript,在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后会执行,等价于body.onload=f(){}里的内容,要等

ScriptManager和ClientScript的区别

ClientScript获取用于管理脚本.注册脚本和向页面添加脚本的ClientScriptManager对象. ScriptManager.RegisterStartupScript方法和ClientScript.RegisterStartupScript方法的区别. ScriptManager和ClientScriptManager的命名空间均是System.Web.UI. ClientScript是ClientScriptManager的对象,ClientScriptManager是类.

Response.Write 、RegisterClientScriptBlock和RegisterStartupScript总结

Response.Write .RegisterClientScriptBlock和RegisterStartupScript总结 Page.ClientScript.RegisterStartupScript用法小结 原文链接:http://blog.csdn.net/qiujialongjjj/article/details/6680252 使用类型.键.脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本. 参数 type 要注册的启动脚本的类型. key 要注册的启动脚本