Page.ClientScript.RegisterStartupScript用法小结

使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本。

参数

type

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

key

要注册的启动脚本的键。

script

要注册的启动脚本文本。

addScriptTags

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


备注:


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

调用 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>

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

//后台弹出确定框

ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert(‘请正确输入!‘);</script>");

//ASP.NET后台页面跳转

Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(‘数据添加成功!‘);{location.href=‘ProductonList.aspx‘}</script>");

或

Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>window.location.href=‘AdminMain.aspx‘;</script>");

//后台弹出文本框
ScriptManager.RegisterStartupScript(Page, typeof(string), "popUp", "window.open(‘rptView.aspx‘,‘打印预览‘,‘toolbar=no,location=no,scrollbars=yes,top=200px,left=200px,width=904px,height=650px‘)", true);

 小技巧:

后台:

  protected void Button1_Click(object sender, EventArgs e)
        {
            string temp = Request["he"].ToString();//通过request[控件name(非id)]来引用前台的input控件
            Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "alert(‘hello" + temp + "‘)", true);//alert添加参数
        }

前台:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

    <fieldset>
    <legend>
    健康信息
    </legend>
    高度:<input name="he" type="text"/>
    体重: <input type="text" />
    </fieldset>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
       </form>
</body>
</html>

 
时间: 2024-08-13 00:03:58

Page.ClientScript.RegisterStartupScript用法小结的相关文章

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用法小结

ClientScript.RegisterStartupScript(Page.GetType(), "Show", "alert('" + l_strConferenceNo + "');",true);原型如下 ClientScript.RegisterStartupScript(Type type, string key, string script,bool addScriptTags);区别是bool addScriptTags为tru

Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别 方法1,使用Response.Write,这种方法会把JS代码写在页面的最顶部(<html>的前面):System.Web.HttpContext.Current.Response.Write("<script language=javascript>a

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

Page.ClientScript.RegisterClientScriptBlock 在页面紧跟<form>之后,整个页面未完全加载完成. Page.ClientScript.RegisterStartupScript 在页面</form>之前,页面基本空间等加载完成之后. 举个例子,页面加载时需要给页面 文本框 赋默认值. 用Page.ClientScript.RegisterStartupScript OK,是没问题的. 但是用Page.ClientScript.Regist

page.ClientScript.RegisterStartupScript

page.ClientScript.RegisterStartupScript()可以添加客户端脚本,有4个参数 type:要注册的启动脚本的类型. key:要注册的启动脚本的键. script:要注册的启动脚本文本. addScriptTags:指示是否添加脚本标记的布尔值. 在后台中写下代码;page.ClientScript.RegisterStartupScript(page.GetType(), "js", "alert('在html中处理');"); 就

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不执行问题

c#后台使用Page.ClientScript.RegisterStartupScript在前台注册一段脚本提示,发现没有效果,寻寻觅觅,终于从度娘处找到了原因: 该页面多次使用到了Page.ClientScript.RegisterStartupScript(Type type, string key, string script) 问题就出在了参数key上,同一页面会按顺序执行Page.ClientScript.RegisterStartupScript(Type type, string

Response.Write/Page.ClientScript.RegisterStartupScript/Page.ClientScript.RegisterClientScriptBlock区别

Response.Write 会把JS代码写在页面最顶部(前面) RegisterStartupScript 会把JS代码嵌在页面底部.表单最后(</form>前面),适用于要在页面空间加载完成后运行的JS代码 RegisterClientScriptBlock 会把JS代码嵌在页面顶部.表单最前面(<form>后面),适用于要在控件加载前执行的JS代码,类似于Response.Write方式

ClientScript.RegisterStartupScript()与ScriptManager.RegisterStartupScript()

page类:1.页头中inherits标识继承于哪个类.partial标 识局部的,类的一部分,编译的时候 把同名的 partial合并成一个完整的class文件,然后编译成 中间文件.2..net页面的生命周期,控件的生命周期,生命周 期的应用.页面-属性-document-trace设为true, 运行页面可以看到跟踪信息.3.统一验证身份的方法,写一个验证的类文件(类 文件中添加this.Load+=new eventhander (thisLoad) void thisLoad(obje