XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[ASP.NET] ASPNET中MESSAGEBOX的实现!

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [ASP.NET] ASPNET中MESSAGEBOX的实现!  
  本主题被作者加入到他/她的 Blog 中  
 
marxTen
小水手
Rank: 1



UID 21410
精华 0
积分 6
帖子 6
阅读权限 10
注册 2006-4-24
状态 离线
ASPNET中MESSAGEBOX的实现!

1。在ASP.NET中实现MESSAGEBOX功能!
      在ASP.NET中,MESSAGEBOX功能:
      先来看看代码:
    public void OutputMessage(string message, bool goBack, string url)
        {
            if (m_prompted)                      //首先要判断状态,涉及到后面的重载问题!
                return;
            else
                m_prompted = true;

            System.Text.StringBuilder sb = new System.Text.StringBuilder();//如果对STRINGBUILDER不懂可以去看下MSDN,我一般也是很少问别人的,有不懂就看MSDN!觉得MSDN很强大!

            sb.Append("<script language=\"javascript\">\n");  //其实ASPNET的MESSAGEBOX功能也是通过调用JSP功能实现的。
            sb.Append("window.alert('");//WINDOW.ALERT就是输出消息的!
            sb.Append(iTVPhoto.Components.Utilities.JavascriptEncode(message));//通过转换
            sb.Append("');\n");//完成消息输出!
            if (goBack)
                sb.Append("window.history.back();\n");
            else if (url != null)
            {
                sb.Append("window.location.href='");
                sb.Append(url);
                sb.Append("';\n");
            }
            sb.Append("</script>\n");
            if (goBack || url != null)
            {
                sb.Append("<h4>\n");
                sb.Append(Server.HtmlEncode(string.Empty + message));
                sb.Append("</h4>\n");
                sb.Append("<strong><a href=\"");
                sb.Append(url);
                sb.Append("\">If you brower did not redirect, please click her to perform the redirect.");
                sb.Append("</a></strong>");
            }

            this.litMessage.Text = sb.ToString();//通过LITERAL控件输出消息!
            if (!this.litMessage.Visible)  
                this.litMessage.Visible = true;
        }
然后可以通过重载输出其他的MESSAGE!
public void OutputMessage(string message)
        {
            OutputMessage(message, false, null);
        }
这个代码是放在HEAD。ASCX中的,这样通过
<%@register TapName="pageHeader" TAGPREFIX="xxxxx" src="header.ascx"%>
在CS里面通过
pageHeader.OutputMessage("xxx");
输出消息!
2006-4-25 12:34#1
查看资料  Blog  发短消息  顶部
 
xjb
传说中的水手
Rank: 5Rank: 5



UID 18
精华 0
积分 2820
帖子 2820
阅读权限 1
注册 2002-2-4
状态 离线
我常用的的一个类:
        /// <summary>
        /// 显示消息提示对话框。
        /// </summary>
        public class MessageBox
        {
                public MessageBox()
                {
                        //
                        // TODO: 在此处添加构造函数逻辑
                        //
                }


                /// <summary>
                /// 显示消息提示对话框
                /// </summary>
                /// <param name="page">当前页面指针,一般为this</param>
                /// <param name="msg">提示信息</param>
                public static void  Show(System.Web.UI.Page page,string msg)
                {
                        page.RegisterStartupScript("message","<script language='javascript' defer>alert('"+msg.ToString()+"');</script>");
        }



                /// <summary>
                /// 控件点击消息确认提示框
                /// </summary>
                /// <param name="page">当前页面指针,一般为this</param>
                /// <param name="msg">提示信息</param>
                public static void  ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg)
                {

                        //Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");
                        Control.Attributes.Add("onclick", "return confirm('" + msg + "');") ;
                }



                /// <summary>
                /// 显示消息提示对话框,并进行页面跳转
                /// </summary>
                /// <param name="page">当前页面指针,一般为this</param>
                /// <param name="msg">提示信息</param>
                /// <param name="url">跳转的目标URL</param>
                public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)
                {
                        StringBuilder Builder=new StringBuilder();
                        Builder.Append("<script language='javascript' defer>");
                        Builder.AppendFormat("alert('{0}');",msg);
                        Builder.AppendFormat("top.location.href='{0}'",url);
                        Builder.Append("</script>");
                        page.RegisterStartupScript("message",Builder.ToString());
                }



                /// <summary>
                /// 输出自定义脚本信息
                /// </summary>
                /// <param name="page">当前页面指针,一般为this</param>
                /// <param name="script">输出脚本</param>
                public static void ResponseScript(System.Web.UI.Page page,string script)
                {
                        page.RegisterStartupScript("message","<script language='javascript' defer>"+script+"</script>");
                }
2006-4-30 11:38#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 14:46 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver