前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET弹出消息对话框的方法小结

ASP.NET弹出消息对话框的方法小结

作者头像
阳光岛主
发布2019-02-19 11:11:09
3.8K0
发布2019-02-19 11:11:09
举报
文章被收录于专栏:米扑专栏米扑专栏

【原理】

在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的value是否为空,若不为空则弹出对话框显示信息,否则什么也不做。 后台代码在需要的时候修改隐藏控件的value,这样当页面传到用户那时,最后的脚本代码将执行并弹出对话框。 【注意事项】 1.         隐藏控件必须是HTML控件,否则javascript无法找到。 2.         后台代码要修改隐藏控件的值,隐藏控件自然得加上runat=”server” 标记。 3.         在弹出对话框后,记得把隐藏控件的value置空,否则刷新的时候又会弹出来了。 4.         脚本代码一定得放在隐藏控件的后面,否则同样找不到。 【实现】 页面代码(只列出body) <body MS_POSITIONING="GridLayout">               <form id="Form1" method="post" runat="server">                      <asp:TextBox id="manuInput" runat="server"></asp:TextBox>                      <asp:Button id="Button1" runat="server" Text="对话框"></asp:Button> <INPUT id="passTxt" type="hidden" runat="server"><!—隐藏控件à               </form>               <script language=javascript>...                      if( document.all("passTxt").value!="" )                      ...{                             alert( document.all("passTxt").value );                             document.all("passTxt").value=""; //这句可不能掉哟!                      }               </script>        </body> 后台代码(只列出Button1的响应事件) private void Button1_Click(object sender, System.EventArgs e)          {               passTxt.Value = manuInput.Text;          } 【效果】 【补充说明】 其实这个方法很简单,不过却很有效,你可以写一个函数showDialog(string str),然后在后台代码中任何需要的地方调用以弹出对话框。 此外,你还可以把alert换成showModelDialog(),以弹出功能更丰富,界面更漂亮的窗口。 最后,必须得说明的是,这个方法的思想可以用来在脚本和后台代码之间传递信息,我在我的web application中就是这样做的,效果很好。 我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。    (1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:     例:     public System.Web.UI.WebControls.Button btnDelRow;     btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");  (2)点击页面上的链接,弹出一个对话框提示是“确定”还是“取消”操作,可在Page_Load()事件中,给希望给出确认提示的按钮增加属性:     例:     Link.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");

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

   (4)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:     public virtual void RegisterStartupScript(string key,string script);       例:     if(!this.IsStartupScriptRegistered("hello"))     this.RegisterStartupScript("hello","<script>...alert('你好!')</script>"); 

弹出“确定”对话框: Response.Write("<Script Language=JavaScript>...alert('消息!');</Script>");

弹出“确定”对话框,点击后跳转页面: Response.Write("<Script Language=JavaScript>...alert('消息!');window.navigate('../index.aspx');</Script>");

弹出“确定”和“取消”对话框,点击“确定”后执行相关操作: 方法一:在Page_Load事件中,写入Button1.Attributes["onClick"]="javascript:return confirm('你确认要删除吗?');" ,然后在Button1_OnClick事件中写入您的执行代码。 方法二:直接在Button1_OnClik事件中写入 Response.Write("<Script Language=JavaScript>...if(confirm('你确认要删除吗?'))...{window.navigate('doDelete.aspx');} </Script>"); 方法二需要跳转到另一个页面执行操作,比方法一稍繁琐些,不过怎样用还看具体情况。

收集到的。用具类 using System; /// <summary> /// Alert 的摘要说明。 /// </summary> public class Alert {  public static void ShowAlert(string message)  {         if(message==null)             message = "";         message=message.Replace("  ",""");         System.Web.HttpContext.Current.Response.Write("<script>...alert('"+message+"');</script>");  }  public static void ShowAlert(string message,string url)  {         if(message==null)             message = "";         message = message.Replace("  ", """);         System.Web.HttpContext.Current.Response.Write("<script>...alert(""+message+"");location='"+url+"';</script>");  }     public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl)     ...{         if (message == null)             message = "";         message = message.Replace("  ", """);         System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>");     }     public static void ShowConfirmAlert(string message, string confirmurl)     ...{         if (message == null)             message = "";         message = message.Replace("  ", """);         System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>");     }     public static void Redirect(string url)  ...{//   //   if(url==null||url.Length<1)    ShowAlert("重定向地址不能为空");   else      System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>");  }  public static void SSOLoginRedirect(string url)  ...{    Redirect(url); //   if(url==null||url.Length<1) //    ShowAlert("重定向地址不能为空"); //   else //    System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window) window.parent.location=window.location; location='"+url+"';</script>");  }     public static void ShowAlert(string message,string url,bool IsRedirect)     ...{         if(message==null)             message = "";         if(IsRedirect)             ShowAlert(message,url);         else             ShowAlert(message);     } }

转载声明:本文来自CSDN博客http://blog.csdn.net/linxi27/archive/2008/01/31/2075028.aspx

==================================================================

ASP.net后台弹出消息对话框的方法!【转】

在winform后台,我们通过MessageBox.show(“消息")的方式来返回后台信息,在webform后台,我们通过Response.write(”消息")来返回后台消息,但这样需要将消息值以字符串形式显示到前台页面,是否有类似于MessageBox.show("消息")的方式弹出信息呢。我们会很快想到javascript的alert方法。通过在后台调用js来实现alert的调用。用法为:Response.write("<script>alert('"+value+"')</script>");      当然,我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。 (1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:     例:     public System.Web.UI.WebControls.Button btnDelRow;     btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");  (2)点击页面上的链接,弹出一个对话框提示是“确定”还是“取消”操作,可在Page_Load()事件中,给希望给出确认提示的按钮增加属性:     例:     Link.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");

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

    (4)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:     public virtual void RegisterStartupScript(string key,string script);       例:     if(!this.IsStartupScriptRegistered("hello"))     this.RegisterStartupScript("hello","<script>...alert('你好!')</script>"); 

弹出“确定”对话框: Response.Write("<Script Language=JavaScript>...alert('消息!');</Script>");

弹出“确定”对话框,点击后跳转页面: Response.Write("<Script Language=JavaScript>...alert('消息!');window.navigate('../index.aspx');</Script>");

弹出“确定”和“取消”对话框,点击“确定”后执行相关操作: 方法一:在Page_Load事件中,写入Button1.Attributes["onClick"]="javascript:return confirm('你确认要删除吗?');" ,然后在Button1_OnClick事件中写入您的执行代码。 方法二:直接在Button1_OnClik事件中写入 Response.Write("<Script Language=JavaScript>...if(confirm('你确认要删除吗?'))...{window.navigate('doDelete.aspx');} </Script>"); 方法二需要跳转到另一个页面执行操作,比方法一稍繁琐些,不过怎样用还看具体情况。

收集到的。用具类

using System;

/// <summary> /// Alert 的摘要说明。 /// </summary> public class Alert {  public static void ShowAlert(string message)  {         if(message==null)             message = "";   //ljj   //2005-12-9   message=message.Replace("  ",""");   System.Web.HttpContext.Current.Response.Write("<script>...alert('"+message+"');</script>");  }  public static void ShowAlert(string message,string url)  {         if(message==null)             message = "";         message = message.Replace("  ", """);   System.Web.HttpContext.Current.Response.Write("<script>...alert(""+message+"");location='"+url+"';</script>");  }     public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl)     ...{         if (message == null)             message = "";         message = message.Replace("  ", """);         System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>");     }     public static void ShowConfirmAlert(string message, string confirmurl)     ...{         if (message == null)             message = "";         message = message.Replace("  ", """);         System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>");     }     public static void Redirect(string url)  ...{//   //   if(url==null||url.Length<1)    ShowAlert("重定向地址不能为空");   else      System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>");  }  public static void SSOLoginRedirect(string url)  ...{    Redirect(url); //   if(url==null||url.Length<1) //    ShowAlert("重定向地址不能为空"); //   else //    System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window) window.parent.location=window.location; location='"+url+"';</script>");  }     public static void ShowAlert(string message,string url,bool IsRedirect)     ...{         if(message==null)             message = "";         if(IsRedirect)             ShowAlert(message,url);         else             ShowAlert(message);     } }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009年12月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档