Asp.net中RegisterStartupScript方法的使用

Asp.net中RegisterStartupScript方法的使用:

MSDN如下说:允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块。

[Visual Basic]
Public Overridable Sub RegisterStartupScript( _
   ByVal key As String, _
   ByVal script As String _
)
参数

key 

标识脚本块的唯一键。 

script 

要发送到客户端的脚本的内容。 

 

以下是一些应用实例:

/// <summary>
        
/// 弹出对话框并指定确定操作
        
/// </summary>
        
/// <param name="str_Message"></param>
        
/// <param name="btn_Redirect_Flow"></param>
        
/// <param name="btn_Redirect_Self"></param>
        
/// <param name="page"></param>
        public static void Confirm(string str_Message, string btn_Redirect_Flow, System.Web.UI.Page page)
        {
            page.ClientScript.RegisterStartupScript(typeof(string), "alert""<script> if (confirm('" + str_Message + "')==true){document.forms(0)." + btn_Redirect_Flow + ".click();}</script>");
        }

第二步:并把btnfirstsend 设为隐藏或者大小设为0,已达到不在页面上显示
 protected void btnfirstsend_Click(object sender, EventArgs e)
        {//后台服务器方法
            Common.MessageHelper.SendMessage(mobile, content, null);
        }
第三步:Common.JavascriptHelper.Confirm("是否发送短信通知?""btnfirstsend"this);

指定对话框 确定与取消跳转的页面

this.ClientScript.RegisterStartupScript(typeof(string), "alert""if(confirm('您第一登录系统,请修改密码?')==true){location.href='index.aspx?updatepwd=yes';}else{location.href='index.aspx?updatepwd=no';}"true);

打开一个新窗口:

Page.RegisterStartupScript("starup""<script language = 'javascript'>window.open('" + url + "','','toolbar=no,resizable=yes,scrollbars=yes')</script>")

 

警告窗口

/// <summary>
/// 服务器端弹出alert对话框
/// </summary>
/// <param name="str_Message">提示信息,例子:"不能为空!"</param>
/// <param name="page">Page类</param>
public void Alert(string str_Message,Page page)
{
page.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");
}

重载此警告窗口,使某控件获得焦点

/// <summary>
/// 服务器端弹出alert对话框,并使控件获得焦点
/// </summary>
/// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
/// <param name="str_Message">提示信息,例子:"请输入您姓名!"</param>
/// <param name="page">Page类</param>
public void Alert(string str_Ctl_Name,string str_Message,Page page)
{
page.RegisterStartupScript("","<script>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
}

确认对话框

/// <summary>
/// 服务器端弹出confirm对话框
/// </summary>
/// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
/// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
/// <param name="page">Page类</param>
public void Confirm(string str_Message,string btn,Page page)
{
page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");
}

重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件

/// <summary>
/// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
/// </summary>
/// <param name="str_Message">提示信息,比如:"成功增加数据,单击/"确定/"按钮填写流程,单击/"取消/"修改数据"</param>
/// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
/// <param name="btn_Redirect_Self">"取消"按钮id值</param>
/// <param name="page">Page类</param>
public void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self,Page page)
{
page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
}


获得焦点

/// <summary>
/// 使控件获得焦点
/// </summary>
/// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
/// <param name="page">Page类</param>
public void GetFocus(string str_Ctl_Name,Page page)
{
page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
}

子窗体返回主窗体

///<summary>
///名称:redirect
///功能:子窗体返回主窗体
///参数:url
///返回值:空
///</summary>
public void redirect(string url,Page page)
{
if ( Session["IfDefault"]!=(object)"Default")

page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");
}
}
posted @ 2011-12-19 16:28  做最好の自己  阅读(10227)  评论(0编辑  收藏  举报