PopupControlExtender控件

功能:
    Popupcontrol可以弹出任意类型的控件,不管是在服务器控件还是html控件。就是在某控件获取焦点时弹出另外一个控件,进行一些操作后,隐藏弹出的控件。

属性
    TargetControlID:需要弹出的控件的id
    PopupControlID:作为弹出控件的id
    Position:弹出控件的位置
    OffsetX/OffsetY:弹出控件的位置与默认位置的相对坐标

实例代码:

< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
    
< title > Untitled Page </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< asp:ScriptManager  ID ="ScriptManager1"  runat ="server" >
    
</ asp:ScriptManager >
     Enter date for new reminder:
    
< asp:TextBox  ID ="TextBox1"  runat ="server" ></ asp:TextBox >
    
< asp:Panel  ID ="Panel1"  runat ="server" >
    
< asp:UpdatePanel  ID ="UpdatePanel1"  runat ="server"  UpdateMode ="Conditional" >
      
< ContentTemplate >   
     
< asp:Calendar  ID ="Calendar1"  runat ="server"  BackColor ="White"  BorderColor ="#999999"  
              CellPadding
="4"  DayNameFormat ="Shortest"  Font-Names ="Verdana"  Font-Size ="8pt"  
              ForeColor
="Black"  Height ="180px"  Width ="200px"   OnSelectionChanged ="Calendar1_SelectionChanged" >
         
< selecteddaystyle  backcolor ="#666666"  font-bold ="True"  forecolor ="White"   />
         
< selectorstyle  backcolor ="#CCCCCC"   />
         
< weekenddaystyle  backcolor ="#FFFFCC"   />
         
< todaydaystyle  backcolor ="#CCCCCC"  forecolor ="Black"   />
         
< othermonthdaystyle  forecolor ="#808080"   />
         
< nextprevstyle  verticalalign ="Bottom"   />
         
< dayheaderstyle  backcolor ="#CCCCCC"  font-bold ="True"  font-size ="7pt"   />
         
< titlestyle  backcolor ="#999999"  bordercolor ="Black"  font-bold ="True"   />
          
</ asp:Calendar >
    
</ ContentTemplate >
    
</ asp:UpdatePanel >  
    
</ asp:Panel >
    
< br  />
    
< br  />
    Reminder message:
     
< asp:TextBox  ID ="MessageTextBox"  runat ="server"  Width ="200"  autocomplete ="off"   />< br  />< br  />
        
< asp:Panel  ID ="Panel2"  runat ="server"  CssClass ="popupControl" >
            
< div  style ="border: 1px outset white; width: 100px" >
                
< asp:UpdatePanel  runat ="server"  ID ="up2" >
                    
< ContentTemplate >
                        
< asp:RadioButtonList  ID ="RadioButtonList1"  runat ="server"  AutoPostBack ="true"
                            OnSelectedIndexChanged
="RadioButtonList1_SelectedIndexChanged" >
                                
< asp:ListItem  Text ="Walk dog"   />
                                
< asp:ListItem  Text ="Feed dog"   />
                                
< asp:ListItem  Text ="Feed cat"   />
                                
< asp:ListItem  Text ="Feed fish"   />
                                
< asp:ListItem  Text ="Cancel"  Value =""   />
                        
</ asp:RadioButtonList >
                    
</ ContentTemplate >
                
</ asp:UpdatePanel >
            
</ div >
        
</ asp:Panel >
        
< ajaxToolkit:PopupControlExtender  ID ="PopupControlExtender2"  runat ="server"
            TargetControlID
="MessageTextBox"
            PopupControlID
="Panel2"
            CommitProperty
="value"
            Position
="Bottom"
            CommitScript
="e.value += ' - do not forget!';"   />

    
    
    

     
< ajaxToolkit:PopupControlExtender  ID ="PopupControlExtender1"  runat ="server"  TargetControlID ="TextBox1"  PopupControlID ="Panel1"  Position ="Right" >
    
</ ajaxToolkit:PopupControlExtender >
    
    
</ form >
</ body >
</ html >

 后台 添加点击 CalendarRadioButtonListOnSelectedIndexChanged事件。

  protected   void  Calendar1_SelectionChanged( object  sender, EventArgs e)
    
{
        
        
this.TextBox1.Text = this.Calendar1.SelectedDate.ToShortDateString();
        PopupControlExtender1.Commit(
this.TextBox1.Text);
    }


      
protected   void  RadioButtonList1_SelectedIndexChanged( object  sender, EventArgs e)
    
{
        
if (!string.IsNullOrEmpty(RadioButtonList1.SelectedValue))
        
{
            
// 这里需要注意,执行选择操作
            PopupControlExtender2.Commit(RadioButtonList1.SelectedValue);
        }

        
else
       
{
            
// 取消操作
            PopupControlExtender2.Cancel();
        }

    }

运行结果:
    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值