模拟Confirm的Web自定义控件

原创 2006年05月19日 12:16:00
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Collections;
using System.Collections.Specialized;
 
namespace PublicControls
{
     ///<summary>
     /// MsgBoxControl 的摘要说明。
     ///</summary>
 
     public class MsgBoxControl : Control,IPostBackDataHandler,IPostBackEventHandler
     {
         #region预定义
    
         #endregion
 
         #region属性
        
         #endregion
 
         #region事件/方法
 
         ///<summary>
         ///获取回发的数据
         ///</summary>
         ///<param name="postDataKey"></param>
         ///<param name="values"></param>
         ///<returns></returns>
         public bool LoadPostData(String postDataKey, NameValueCollection values)
         {
 
            return false;       
         }
 
         ///<summary>
         ///数据回发事件
         ///</summary>
         public void RaisePostDataChangedEvent()
         {
 
         }
 
         ///<summary>
         ///回送事件
         ///</summary>
         ///<param name="e"></param>
         public void RaisePostBackEvent(string e)
         {
 
         }
 
         ///<summary>
         ///输出预处理
         ///</summary>
         ///<param name="e"></param>
         protected override void OnPreRender(EventArgs e)
         {
             
         }
        
         ///<summary>
         ///添加控件方法,该方法为指定控件添加onclick属性
         ///</summary>
         ///<param name="button">LinkButton控件对象</param>
         ///<param name="msg">提示信息</param>
         public void AddAttributes(System.Web.UI.WebControls.LinkButton button,string msg)
         {
              button.Attributes.Add("onclick","return onformsubmit(this,'"+msg+"')");
         }
 
         ///<summary>
         ///添加控件方法,该方法为指定控件添加onclick属性
         ///</summary>
         ///<param name="button">Button控件对象</param>
         ///<param name="msg">提示信息</param>
         public void AddAttributes(System.Web.UI.WebControls.Button button,string msg)
         {
              button.Attributes.Add("onclick","return onformsubmit(this,'"+msg+"')");
         }
 
         #endregion
 
         #region输出
         ///<summary>
         ///将此控件呈现给指定的输出参数。
         ///</summary>
         ///<param name="output">要写出到的 HTML 编写器 </param>
         protected override void Render(HtmlTextWriter output)
         {
              string View=ViewString();
 
              output.Write(View);
         }
         #endregion
 
         #region其他函数
         ///<summary>
         ///输出字符串
         ///</summary>
         ///<returns></returns>
         string ViewString()
         {
              string view="";
              view+="<script language=/"javascript/">/n";
              view+="<!--/n";
              view+="var EventObj;";
              view+="function operation(obj)/n";
              view+="{/n";
              view+="if(obj.innerHTML==/"0/")/n";
              view+="{/n";
              view+="obj.innerHTML=/"2/";/n";
              view+="obj.parentNode.parentNode.style.height=/"0px/";/n";  
              view+="obj.parentNode.nextSibling.style.display=/"none/";/n";
              view+="obj.parentNode.nextSibling.nextSibling.nextSibling.style.display=/"none/";/n";
              view+="}";
              view+="else if(obj.innerHTML==/"2/")/n";
              view+="{";
              view+="obj.innerHTML=/"0/";/n";
              view+="obj.parentNode.nextSibling.style.display=/"block/";/n";
              view+="obj.parentNode.nextSibling.nextSibling.nextSibling.style.display=/"block/";/n";
              view+="}/n";
              view+="else/n";
              view+="{/n";
              view+="obj.parentNode.parentNode.style.display='none';/n";  
              view+="}/n";
              view+="}/n";
              view+="function onformsubmit(obj,msg)/n";
              view+="{/n";
              view+="EventObj = obj;/n";
              view+="win.style.left=document.body.clientWidth/2-100;/n";
              view+="win.style.top=document.body.clientHeight/2-150;/n";
              view+="win.style.display=/"block/";/n";
              view+="win.childNodes[1].innerHTML=msg;/n";
              view+="return false;/n";
              view+="}/n";
              view+="function formsubmit()/n";
              view+="{/n";
              view+="eventTarget = EventObj.id.split(/"_/").join(/"$/").split(/"$$/").join(/"$_/");/n";
              view+="eventArgument = '';/n";
              view+="__doPostBack(eventTarget, eventArgument);/n";
              view+="}/n";
              view+="//-->/n";
              view+="</script>/n";
 
 
              view+="<div id=/"win/" style=/"position:absolute;z-index=999; background-color: #FFFFFF;BORDER-RIGHT:navy thin solid; BORDER-TOP:navy thin solid; DISPLAY:none; BORDER-LEFT:navy thin solid; WIDTH:200px; BORDER-BOTTOM:navy thin solid;/">/n";
              view+="<span style=/"FONT-SIZE: 9pt;WIDTH: 100%;COLOR: white;BACKGROUND-COLOR: navy;">/n";
              view+="<font style=/"CURSOR: hand/" onclick=/"operation(this);/">0</font> <font style=/"CURSOR: hand/" onclick=/"operation(this);/">/n";
              view+="r</font></span><span><!--提示信息--></span><br>/n";
              view+="<span style=/"/"><font style=/"CURSOR: hand/" onclick=/"formsubmit();/">[确定]</font>&nbsp;&nbsp;&nbsp;<font style=/"CURSOR: hand/" onclick=/"operation(this);/">[取消]</font>/n";
              view+="</span>/n";
              view+="</div>/n";
              return view;
         }
         #endregion
     }
}
 
版权声明:本文为博主原创文章,未经博主允许不得转载. dawngrp.com

CSS模拟实现alert和confirm实现

由于原生的alert和confirm在不同手机上显示样式不一样,而且也难看。所以用css模拟了原生的alert和confirm实现。实现效果截图分别如下: 其中弹出框内的文字可以动态赋...
  • zl544434558
  • zl544434558
  • 2015年11月19日 12:51
  • 2016

用JS+DIV实现类似confirm的提示框

2007-03-26 23:06 仿windows关机对话框的提示框效果
  • jar_120
  • jar_120
  • 2011年04月12日 00:01
  • 1032

javascript+div+css模拟alert效果和confirm效果

/*参数说明str:要提示的字符串内容gotopage:要调用页面的url地址paras:传递的参数,格式为[para1=xxx¶2=yyy]returnpage:调用ajax返回处理结果后,...
  • pushihao
  • pushihao
  • 2009年07月14日 14:51
  • 2315

C#web页面弹出confirm对话框的问题

常规的处理方式:mycontrol.Attributes.Add("onclick", "return confirm('您是否确定要驳回这条信息?');");其中mycontrol为页面上的按钮控件...
  • Devillyd
  • Devillyd
  • 2010年07月21日 15:32
  • 5048

WEB用户控件和WEB自定义控件的区别

很初学者对WEB用户控件和WEB自定义控件的区别不是很了解,经常把它们混为一谈,这两种控件之间的主要区别在于设计时的易创建性与易用性。Web 用户控件易于创建,但它们在高级方案中使用起来可能不太方便。...
  • xueying519
  • xueying519
  • 2007年04月08日 20:50
  • 489

创建 Web 自定义控件

如果现有的 ASP.NET 服务器控件中没有一个符合应用程序的要求,则可以通过从一个基控件类派生来创建自定义控件。这些类提供服务器控件的所有基本功能,因此您可以将注意力集中在所需功能的编程上。在本演练...
  • Yellow198267
  • Yellow198267
  • 2006年05月17日 12:57
  • 1153

js confirm函数的用法

首先要有一个函数去调用yesno函数 function yesno() {  if(confirm("关注前请先登陆!")){ window.location.href = "home/login.h...
  • baicp3
  • baicp3
  • 2013年11月10日 11:07
  • 1706

ASP.NET总结——Web自定义控件

北大青鸟ASP.NET的视频,向我们介绍了用户控件和自定义控件。        先简单说一下这两者的明显的区别。 用户控件的扩展名为.aspx;自定义控件的扩展名为.dll。用户控件使用时,需...
  • u010924834
  • u010924834
  • 2014年09月15日 15:58
  • 2141

JavaScript移动端模拟confirm()方法

在移动端HTML5页面中,由于confirm()这个原生方法弹出框不太好看,且在各浏览器或WebView的样子不统一,我们一般会自行实现一个模拟该方法的弹出框。而且这个是一个使用频繁的方法,所以可以用...
  • yhb241
  • yhb241
  • 2015年09月10日 17:38
  • 2092

js confirm()方法的使用方法实例

今天学习了js 中confirm的使用方法,confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。 如果用户点击确定按钮,则 confirm() 返回 true。如果...
  • zgrkaka
  • zgrkaka
  • 2015年11月12日 09:21
  • 916
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模拟Confirm的Web自定义控件
举报原因:
原因补充:

(最多只允许输入30个字)