日期:2014-01-14  浏览次数:20464 次

令你心动的Asp.net 开发中的MessageBox控件

相信使用ASP.NET做Web开发的程序员们,都会怀念使用MessageBox.Show( “” )的信息提示方式吧。只可惜在ASPX中并不支持此类功能函数,至多也就是在脚本中使用alert( “ ” )来达到目的。要是想在服务器端的代码中来控制客户端信息提示窗体的显示,就不能直接进行控制了。
以下就是我所设计开发的一个用于在服务器端来控制客户端信息提示窗体显示的Web自定义控件,很好用哦!
它的操作非常简单,代码也很少,相信您对它的使用会感到满意的!
您只需在服务器端的代码中对该控件的Text属性进行设置,就可以在客户端看到您所需要信息提示窗体,更为理想的是该Text属性为无状态属性,也就是说在下一次的回发过程中无需再对它进行操作就能自动实现隐藏。
简单地说,您只需要在要求显示的时候对Text属性进行赋值就可达到目的,不对它进行赋值就能实现自动隐藏。
而且还有一点您应该注意的是该控件在aspx页面中的位置,一般情况下建议置于页面未尾位置,这样就可以在所有内容都显示出来以后才跳出信息提示对话框,否则置于该控件后面的其它页面内容都将被暂时隐藏。
以下为该控件的源代码列表:

//********************************************
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace BasicWebControl.MessageBox
{
     /// <summary>
     /// AlertBox 的摘要说明。
     /// </summary>
     [DefaultProperty("Text"), ToolboxData("<{0}:AlertBox runat=server></{0}:AlertBox>")]
     public class AlertBox : System.Web.UI.Control
     {
         private string     text = string.Empty     ;
    
         /// <summary>
         /// 显示的内容,注意不能包含单、双引号
         /// </summary>
         [Bindable(true),Category("Appearance"),DefaultValue("")]
         public string Text
         {
              get
              {
                   return text;
              }

              set
              {
                   text = value;
              }
         }

         /// <summary>
         ///
         /// </summary>
         public AlertBox()
         {            
         }

         /// <summary>
         /// 将此控件呈现给指定的输出参数。
         /// </summary>
         /// <param name="output"> 要写出到的 HTML 编写器 </param>
         protected override void Render(HtmlTextWriter output)
         {
              if( Text != string.Empty )
              {
                   output.Write( "<script language='javascript'>alert('"