altas(ajax)控件(二十二):帮助用户输入的面板控件PopupControl

本文介绍如何利用PopupControlExtender实现在文本框获取焦点时弹出RadioButtonList控件的功能,并展示了完整的配置步骤及代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介
Popupcontrol可以弹出任意类型的控件,不管是在服务器控件还是html控件。就是在某控件获取焦点时弹出另外一个控件,进行一些操作后,隐藏弹出的控件。
二、属性说明

属性
说明
TargetControlID
需要弹出的控件的id,一般为TextBox
PopupControlID
作为弹出控件的id,一般为Panel
Position
弹出控件的位置
OffsetX/OffsetY
弹出控件的位置与默认位置的相对坐标
CommitProperty
目标控件的客户端属性,这个属性是它的值在弹出窗口选择完值后要更新的属性,比如可以是TextBox客户端属性value(注:不是Text属性),即是<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>生成HTML标签<input type="text" name="textfield" value="aa">后的属性value。
CommitScript
提交后执行的脚本


三、 实例

实例
1
打开vs2005,新建一个AjaxControlToolKit网站,命名为AjaxPopupControl
2
打开默认生成的Default.aspx页面,切换到窗体的设计视图

3
在页面中拽一个UpdatePanel,一个PopupControlExtender,一个TextBox和一个RadioButtonList控件
4
设置PopupcontrolExtender控件的属性,要求当文本框获得焦点时再其右侧弹出RadioButtonList控件,如下

<asp:TextBoxID="MessageTextBox"runat="server"Width="200"autocomplete="off"/><br/><br/>
<asp:PanelID="Panel2"runat="server"CssClass="popupControl">
<divstyle="border:1pxoutsetwhite;width:100px">
<asp:UpdatePanelrunat="server"ID="up2">
<ContentTemplate>
<asp:RadioButtonListID="RadioButtonList1"runat="server"AutoPostBack="true"
OnSelectedIndexChanged
="RadioButtonList1_SelectedIndexChanged">
<asp:ListItemText="Walkdog"/>
<asp:ListItemText="Feeddog"/>
<asp:ListItemText="Feedcat"/>
<asp:ListItemText="Feedfish"/>
<asp:ListItemText="Cancel"Value=""/>
</asp:RadioButtonList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
<ajaxToolkit:PopupControlExtenderID="PopupControlExtender2"runat="server"
TargetControlID
="MessageTextBox"
PopupControlID
="Panel2"
CommitProperty
="value"
Position
="Bottom"
CommitScript
="e.value+='-donotforget!';"/>

5 RadioButtonList控件的SelectedIndexChanged事件中添加代码,让选择日期后能将选择的日期显示在文本框中,如下

protectedvoidRadioButtonList1_SelectedIndexChanged(object sender,EventArgse)
...
{
if(!string
.IsNullOrEmpty(RadioButtonList1.SelectedValue))
...
{
//这里需要注意,执行选择操作

PopupControlExtender2.Commit(RadioButtonList1.SelectedValue);
}

else
...{
//取消操作

PopupControlExtender2.Cancel();
}

}

6 保存设计,运行程序,效果:

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值