ASP.NET弹出提示框

我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,确定还是取消,以及选择确定取消后是否需要跳转到某个页面等,下面是本人对常用对话框使用的小结,希望对大家有所帮助,同时也欢迎大家补充。
  
(1) 点击页面上的按钮,弹出一个对话框提示是确定还是取消操作,我们采用在按钮中添加属性来完成:
     举例如下:
    public System.Web.UI.WebControls.Button btnDelRow;
    btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");

(2) 点击页面上的按钮,弹出一个对话框提示是确定还是取消操作,选择确定取消后跳转到相应的页面:
     举例如下:
      string strMsg, string strUrl_Yes, string strUrl_No;
      Response.Write("<Script Language='JavaScript'>if ( window.confirm('"+strMsg+"')) { window.location.href='" + strUrl_Yes +
                              "' } else {window.location.href='"+ strUrl_No +"' };</script>");

(3) 对于页面完成一个操作后,弹出一个对话框提示是否操作成功
     举例如下:
    Response.Write("<script>alert('删除成功!')</script>");

(4) 对于页面完成一个操作后,弹出一个对话框提示是否操作成功后跳转到某一个页面。
     举例如下:
    Response.Write("<script>alert('删除成功!');window.location.href ='www.cnblogs.com'</script>");

(5)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
    public virtual void RegisterStartupScript(string key,string script);

    举例如下:
    if(!this.IsStartupScriptRegistered("hello"))
        this.RegisterStartupScript("hello","<script>alert('你好!')</script>"); 

注意: ASP.NET中弹出提示对话框有哪些实现方法?在点击按钮的时候弹出提示对话框如“添加成功”这样的,本来是这样实现的,Response.Write("<script>;</script>"); 但是在页面中使用了AJAXUpdatePanel之后就不行了。与此同时,可能出现,布局用Css,使用来弹出网页中的提示信息Response.Write("<script language=javascript>"+"alert("*")"+"</script>");之后网页布局就乱了的情况,因此使用ClientScript.RegisterStartupScript(this.GetType(), "sorry", "<script defer>window.alert('对不起,系统登录失败!');</script>");可以解决问题哦。

另外要说的是,在asp.net站点里用response.write("<script>alert('登陆成功!')</script>");是完全可行的,但是把代码移置到ajax站点后在updatepanel的作用下,javascript在网页登陆成功时开始报异常,,而在另外一个没有使用updatepanel控制的aspx页中response.write(.....);则能正常弹出消息提示...  使用下面的就可以了

ScriptManager.RegisterClientScriptBlock(updImageShow, typeof(UpdatePanel), "test","alert('对不起,删除失败!');", true) ;

 

ASP.NET调用javascript脚本的常见方法小结

1、直接在前台调用 javascript 函数

很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript "
如:

代码如下:

<head runat="server">
<script type="text/javascript" >
function ShowName(str)
{
alert("您的名字为:("+str+")");
}
</script>
<title>using javascript</title>
</head>


之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数
示例如下:

代码如下:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick="ShowName('XXX')" />


这时运行项目,单击 button时,会显示"您的名称为XXX"
这就是一个简单的javascript 函数.
2、在前台通过 js文件 调用

方法与 (1)一样 只不过需要指定 .js 文件
示例如下:

代码如下:

<head runat="server">
<script type="text/javascript" src="JScript.js">
</script>
<title>using javascript</title>
</head>


之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数
示例如下:
//此时 .js文件中必须有 ShowName 方法
<asp:Button ID="Button1" runat="server" Text="Button" onclientclick="ShowName('XXX')" />
3、在后台调用 javascript 函数,函数在.js文件中
前台的head 元素

代码如下:

<head runat="server">
<script type="text/javascript" src="JScript.js">
</script>
<title>using javascript</title>
</head>


后台的需要添加如下代码
Button1.Attributes.Add("onclick", "showname1(XXX)");
4、在后台调用 javascript 函数,函数写在 .js文件中,但并没有在前台定义

代码如下:

//获得.js文件
string myscript = "JScript.js";
//注册.js文件, 如果此时查看源码,会得到如下代码
//<script> src ="JScript.js" type="text/javascript"><script>
Page.ClientScript.RegisterClientScriptInclude("myKey", myscript);
//同上
Button1.Attributes.Add("onclick", "showname1(123)");


5. 用Response.Write方法写入脚本
比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
Response.Write("<script type='text/javascript'>alert();</script>");
这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");
6.用ClientScript类动态添加脚本
用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。
注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面

 

ASP.NET 弹出提示框所有种类

 

添加一个类:把下面的文件放在类中就可以了。

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public class MessageBox
    {
      public MessageBox()
        {

        }

        /// <summary>
        /// 警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void MsgBox(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”、“取消”的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="URL">“确定”以后要转到预设网址</param>
        /// <returns>警告框JS</returns>
        public void MsgBox1(string _Msg, string URL)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += "var retValue=window.confirm('" + _Msg + "');" + "if(retValue){window.location='" + URL + "';}";
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
          
        }
        /// <summary>
        /// 一个含有“确定”,点击以后就转到预设网址的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="URL">“确定”以后要转到预设网址</param>
        /// <returns>警告框JS</returns>
        public void MsgBox2(string _Msg, string URL)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.location='" + URL + "';");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }

      public static void MsgBox22(string _Msg, string URL)
      {
          string StrScript;
          StrScript = ("<script language=javascript>");
          StrScript += ("alert('" + _Msg + "');");
          StrScript += ("window.location='" + URL + "';");
          StrScript += ("</script>");
          System.Web.HttpContext.Current.Response.Write(StrScript);
      }
        /// <summary>
        /// 一个含有“确定”,点击关闭本页的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void MsgBox3(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.close();");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”,点击返回先前的网页警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="BackLong">要倒退几步</param>
        /// <returns>警告框JS</returns>
        public void alert_history(string _Msg, int BackLong)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("history.go('" + BackLong + "')");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }

        /// <summary>
        /// 一个含有“确定”,点击后关闭自己,刷新父窗口警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void alert_reloadwin(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.opener.location.href=window.opener.location.href;window.close();");
            StrScript += ("</script>");
           System.Web.HttpContext.Current.Response.Write(StrScript);
        }

        /// <summary>
        /// 弹出对话框
        /// </summary>
        /// <param name="page">页面</param>
        /// <param name="content">message信息</param>
        public static void alert(System.Web.UI.Page page, string content)
        {
            page.ClientScript.RegisterStartupScript(page.GetType(), " ", "<script language='javascript'>alert('" + content + "');</script>");
        }

        /// <summary>
        /// 弹出对话框
        /// </summary>
        /// <param name="page">页面</param>
        /// <param name="content">message信息</param>
        public static void alert(System.Web.UI.Page page, string content,String _daiMa)
        {
            page.ClientScript.RegisterStartupScript(page.GetType(), " ", "<script language='javascript'>alert('" + content + "');"+_daiMa.Replace(""","'")+"</script>");
        }


      public static void alert(System.Web.UI.Page page, object _code)
      {
          page.ClientScript.RegisterStartupScript(page.GetType(), "onLoad", "<script language='javascript'>" + _code + "</script>");
      }

    }

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值