热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ConfirmDialog

为了使用CNBLOG上的服务器端ConfirmDialog,我自己做了一个,用起来还不错.1.界面:

为了使用CNBLOG上的服务器端ConfirmDialog,我自己做了一个,用起来还不错.

1. 界面:

ExpandedBlockStart.gifContractedBlock.gif<%dot.gif&#64; Control Language&#61;"c#" AutoEventWireup&#61;"false" Codebehind&#61;"ConfirmDialog.ascx.cs" Inherits&#61;"Newtop.Common.Web.UserControls.ConfirmDialog" TargetSchema&#61;"http://schemas.microsoft.com/intellisense/ie5" %>
None.gif
<div id&#61;"Header" class&#61;"Dialog">
None.gif    
<div id&#61;"Header_Header" class&#61;"DialogTitle">
None.gif        
<span>
None.gif            
<asp:Label id&#61;"lbTitle" runat&#61;"server">Labelasp:Label>
None.gif        
span>
None.gif    
div>
None.gif    
<div id&#61;"Header_Contents" class&#61;"DialogBody">
None.gif        
<span id&#61;"Header_lblOutput">
None.gif            
<asp:Label Runat&#61;"server" id&#61;"lbText">Dialog Textasp:Label>span>
None.gif        
<div style&#61;"MARGIN-TOP: 12px">
None.gif            
<asp:LinkButton Runat&#61;"server" CssClass&#61;"Button" id&#61;"btnYes" CommandName&#61;"Yes">Yesasp:LinkButton>
None.gif            
<asp:LinkButton Runat&#61;"server" CssClass&#61;"Button" id&#61;"btnNo" CommandName&#61;"No">Noasp:LinkButton>
None.gif            
<BR>
None.gif        
div>
None.gif    
div>
None.gif
div>


界面可以自己定义,但是必须要有两个Label和两个Button,而且名字必须跟上面的一样.

2. 界面的后台代码:

None.gifnamespace Newtop.Common.Web.UserControls
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
using System.Web.UI.WebControls;
InBlock.gif
InBlock.gif    
public class ConfirmDialog : System.Web.UI.UserControl
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
protected System.Web.UI.WebControls.Label lbTitle;
InBlock.gif        
protected System.Web.UI.WebControls.LinkButton btnYes;
InBlock.gif        
protected System.Web.UI.WebControls.LinkButton btnNo;
InBlock.gif        
protected System.Web.UI.WebControls.Label lbText;
InBlock.gif
InBlock.gif        
public void InitDialog(ConfirmDialogArgs args)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            lbTitle.Text 
&#61; args.Title;
InBlock.gif            lbText.Text 
&#61; args.Text;
InBlock.gif            btnYes.Command 
&#43;&#61; args.YesCmdHandler;
InBlock.gif            btnNo.Command 
&#43;&#61; args.NoCmdHandler;
InBlock.gif            btnYes.CommandArgument 
&#61; args.YesCmdArgs;
InBlock.gif            btnNo.CommandArgument 
&#61; args.NoCmdArgs;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif


类中关键是InitDialog方法,他接收一个ConfirmDialogArgs的实例作为参数,用来初始化Dialog.

3. ConfirmDialogArgs类

None.gifusing System;
None.gif
using System.Web.UI.WebControls;
None.gif
None.gif
namespace Newtop.Common.Web.UserControls
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//// 
InBlock.gif    
/// ConfirmDialgArgs 的摘要说明。
ExpandedSubBlockEnd.gif    
/// 

InBlock.gif    public class ConfirmDialogArgs
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
public ConfirmDialogArgs()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
ExpandedSubBlockEnd.gif        }

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Title 属性#region  Title 属性
InBlock.gif
InBlock.gif        
private string title;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public string Title
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return title;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                title 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Text 属性#region  Text 属性
InBlock.gif
InBlock.gif        
private string text;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public string Text
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return text;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                text 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
YesCmdHandler 属性#region  YesCmdHandler 属性
InBlock.gif
InBlock.gif        
private CommandEventHandler yesCmdHandler;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public CommandEventHandler YesCmdHandler
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return yesCmdHandler;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                yesCmdHandler 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
NoCmdHandler 属性#region  NoCmdHandler 属性
InBlock.gif
InBlock.gif        
private CommandEventHandler noCmdHandler;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public CommandEventHandler NoCmdHandler
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return noCmdHandler;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                noCmdHandler 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
YesCmdArgs 属性#region  YesCmdArgs 属性
InBlock.gif
InBlock.gif        
private string yesCmdArgs;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public string YesCmdArgs
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return yesCmdArgs;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                yesCmdArgs 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
NoCmdArgs 属性#region  NoCmdArgs 属性
InBlock.gif
InBlock.gif        
private string noCmdArgs;
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**////  
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// 
 

InBlock.gif        public string NoCmdArgs
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return noCmdArgs;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                noCmdArgs 
&#61; value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif
InBlock.gif
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}


这个类比较简单,请对照InitDialog方法理解,这里就不在赘述了.

4. 使用方法
其实使用这个东西很简单,分以下几步:

4.1 建立页面.
把 1 中的用户控件放在一个aspx页面中.

4.2 在aspx文件中为对话框初始化一个ConfirmDialogArgs的实例.
None.gifprivate void Page_Load(object sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            ConfirmDialog dialog 
&#61; FindControl("confirmDialog"as ConfirmDialog;
InBlock.gif            ConfirmDialogArgs args 
&#61; MyController.State["ConfirmDialogArgs"as ConfirmDialogArgs;
InBlock.gif            dialog.InitDialog(args);
ExpandedBlockEnd.gif        }

因为我的程序中用了UIP,所以,我这里是直接从State中取出了一个ConfirmDialogArgs的实例.

下面我们来看一个初始化ConfirmDialogArgs的例子:

None.gif        ConfirmDialogArgs args &#61; new ConfirmDialogArgs();
None.gif        args.Title 
&#61; "Delete";
None.gif        args.Text 
&#61; "Delete it!";
None.gif        args.YesCmdHandler 
&#61; new CommandEventHandler(this.DeleteVfSystemCommand);
None.gif        args.YesCmdArgs 
&#61; e.CommandArgument.ToString();
None.gif
None.gif
None.gif        MyController.State[
"ConfirmDialogArgs"&#61; args;
None.gif
None.gif        MyController.PerformConfirm();


最后那一句是转向显示对话框的页面.

上面代码中有一个DeleteVfSystemCommand的方法,用来作为对话框选择了"是"的时候做委托.下面是他的具体代码:

None.gifprivate void DeleteVfSystemCommand(object sender,CommandEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            IVfSystemDAO dao 
&#61; Factory.VfSystemDAO;
InBlock.gif            dao.DeleteVfSystem(Convert.ToInt32(e.CommandArgument));
InBlock.gif            MyController.PerformVfSystemManage();
ExpandedBlockEnd.gif        }


现在这个对话框一切正常,都还好用.我这里只是提供一个建议,不喜勿怪.

转:https://www.cnblogs.com/na57/archive/2005/04/11/135758.html



推荐阅读
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • 从U ... [详细]
  • JS实现一键分享功能
    本文介绍了如何使用JS实现一键分享功能,并提供了2019独角兽企业招聘Python工程师的标准。同时,给出了分享到QQ空间、新浪微博和人人网的链接。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
author-avatar
翔英建辉千慧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有