教学思路ASP.Net之服务器控件:三、DropDownList、ListBox、CheckBoxList、RadioButtonList控件

简介:
 DropDownList控件类似于Winform中的combox下拉控件,如果想手工的添加DropDownList中的项目ListItem的方式如图:
      选中编辑项后出现ListItem集合编辑器,通过添加按钮添加一个listItem项,同时我们会发现每项都会有四个属性需要设置,Enable设置此项目是否可见;当Selected属性=true时,页面加载时DropDownList控件做选中的改项目,如果所有的项目的Selected的属性都是False时,页面加载后会默认选中第一个项目,这点与combox不同,combox在Winform中界面加载时,如果不设置选中的项,文本框内将没有任何一项的Text;Text属性设置了项目的显示文本;Value属性设置了此控件上每个项的Value值,也就是说每一项可以绑定两个数值,Text属性将显示在控件上,下面这段代码是页面的源代码:
1                                         < asp:DropDownList  ID ="DropDownList1"  runat ="server"  > 
2                                                  < asp:ListItem  Enabled ="False"  Value ="0" >选项1 </ asp:ListItem > 
3                                                  < asp:ListItem  Selected ="True"  Value ="1" >选项2 </ asp:ListItem > 
4                                                  < asp:ListItem  Value ="2" >选项3 </ asp:ListItem > 
5                                          </ asp:DropDownList >
        选项1将不会显示出来,因为Enable=“False”,页面加载将显示选项2,因为Selected="True",下面我们在页面中加入一个Button,点击Button进入Button的Click事件订阅的方法,写如下代码:
1      protected  void Button1_Click( object sender, EventArgs e) 
2         { 
3                 Response.Write(DropDownList1.SelectedItem.Text+ "<br/>"); 
4                 Response.Write(DropDownList1.SelectedItem.Value +  "<br/>"); 
5                 Response.Write(DropDownList1 .SelectedValue); 
6         } 
页面加载后直接点击Button1页面出现的结果为:
选项2
1
1
        从结果可以看出页面加载时选中了选项2,所以点击Button1时通过选中的项的相关属性能得到绑定在项上的Text和Value的值。
      CheckListBox、RadioButtonList、listBox添加项ListItem的方式如上。
       下面是对 CheckListBox的布置,同样也是添加3个选项:
1                                         < asp:CheckBoxList  ID ="CheckBoxList1"  runat ="server" > 
2                                                  < asp:ListItem  Value ="0" >选项1 </ asp:ListItem > 
3                                                  < asp:ListItem  Value ="1" >选项2 </ asp:ListItem > 
4                                                  < asp:ListItem  Value ="2" >选项3 </ asp:ListItem > 
5                                          </ asp:CheckBoxList >
          在页面中加入一个Button2,当选中选项2和3时,点击Button2在页面中显示出选中的选项文本,代码如下:
 1     protected  void Button2_Click( object sender, EventArgs e) 
 2         { 
 3                  foreach (ListItem xm  in CheckBoxList1.Items) 
 4                 {    
 5                          if(xm.Selected) 
 6                                Response.Write( "你选的是:"+xm.Text+ "<br/>"); 
 7                 } 
 8    
 9                  //for (int i = 0; i < CheckBoxList1.Items.Count; i++) 
10                  //{ 
11                  //        if (CheckBoxList1.Items[i].Selected) 
12                  //                Response.Write("你选的是:" + CheckBoxList1.Items[i].Text + "<br>"); 
13                  //} 
14         }
        上面的代码中用了两种循环将CheckListBox的每个项遍历出来,然后利用判断语句判断该项是否被选中,从而得到输出结果。
显示的结果为
你选的是:选项2
你选的是:选项3
         ListBox控件的选中方式中比DropDownList控件相比,支持选中多项,但是需要调整SelectionMode属性为Single只能选中一项,当属性值改为Multiple将支持选中多项,并可以使用Ctrl或Shift键,按常规方式选择多项,我们还是给listBox添加3个项,然后点击Button1后,在页面中显示用户选择的项文本。
< asp:ListBox  ID ="ListBox1"  runat ="server"  SelectionMode ="Multiple" > 
2                                          < asp:ListItem  Value ="0" >选项1 </ asp:ListItem > 
3                                                  < asp:ListItem  Value ="1" >选项2 </ asp:ListItem > 
4                                                  < asp:ListItem  Value ="2" >选项3 </ asp:ListItem > 
5                                          </ asp:ListBox >
选中listBox项的cs代码
1     protected  void Button1_Click( object sender, EventArgs e) 
2         { 
3                  foreach (ListItem xm  in ListBox1.Items) 
4                          if (xm.Selected) 
5                                 Response.Write( "你选中的是"+xm.ToString()+ "<br/>"); 
6         } 
 
         RadioButtonList控件是将若干个RadioButton组合在一起,控件本身保持每个选项的排他性,我们还是如一个图一样的设置RadioButton的三个选项,然后点击Button3,在页面上写出选中的单选项文本。
< asp:RadioButtonList  ID ="RadioButtonList1"  runat ="server" > 
2                                          < asp:ListItem  Value ="0" >选项1 </ asp:ListItem > 
3                                                  < asp:ListItem  Value ="1" >选项2 </ asp:ListItem > 
4                                                  < asp:ListItem  Value ="2" >选项3 </ asp:ListItem > 
5                                          </ asp:RadioButtonList >
 
 点击Button3的cs代码为:
protected  void Button3_Click( object sender, EventArgs e) 
        { 
                Response.Write( "你选的是:" + RadioButtonList1.SelectedItem.ToString()+  "<br/>"); 
                 //Response.Write("你选的是:" + RadioButtonList1.SelectedItem.Text+ "<br/>"); 
}
 
       这两行语句都能得到选中的单选按钮的文本内容,
      下面请大家添加一个Button4和RadioButtonList2,然后当点击Button4时,RadioButtonList2在页面上将自动加载项目,内容为:初始年、第1年、第2年、……、第5年,共6个选项,并默认选中初始年。
 1             protected  void Button4_Click( object sender, EventArgs e) 
 2        { 
 3                ListItem li =  new ListItem(); 
 4                li.Text =  "初始年"
 5                RadioButtonList2.Items.Add(li); 
 6                RadioButtonList2.Items[0].Selected =  true
 7                 for ( int i = 1; i <= 5; i++) 
 8                { 
 9                        li =  new ListItem(); 
10                        li.Text =  "第"+i+ "年"
11                        RadioButtonList2.Items.Add(li); 
12                } 
13        }
 
       RadioButtonList2的Items集合中应加入ListItem类型的对象Li,并且利用for循环,将 RadioButtonList2控件中加入年份。
       从上面的例题我们会发现,向这些控件的项集合Items中加入一个项ListBoxItem使用Add方法,移除项还是使用Remove(项值)或RemoveAt(索引),这些用法与Winform中完全一致,此处就不做详解了。
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185685如需转载请自行联系原作者

叶子文文
相关文章
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
136 8
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
148 5
|
11月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
211 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
161 0
|
9天前
|
弹性计算 运维 安全
阿里云轻量应用服务器详解——2025升级到200M峰值带宽
阿里云轻量应用服务器(Simple Application Server)是面向个人开发者及中小企业的轻量级云服务,适用于网站搭建、开发测试、小程序后端等场景。2025年升级至200M峰值带宽,支持WordPress、宝塔面板、Docker等应用镜像一键部署,操作简单,运维便捷。按套餐售卖,不支持自定义CPU内存配置,价格低至38元/年起,是快速上云的高性价比选择。
|
1月前
|
存储 缓存 数据挖掘
阿里云目前最便宜云服务器介绍:38元、99元、199元性能,选购攻略参考
轻量应用服务器2核2G峰值200M带宽38元1年;云服务器经济型e实例2核2G3M带宽99元1年;云服务器通用算力型u1实例2核4G5M带宽199元1年。对于还未使用过阿里云服务器的用户来说,大家也不免有些疑虑,这些云服务器性能究竟如何?它们适用于哪些场景?能否满足自己的使用需求呢?接下来,本文将为您全方位介绍这几款云服务器,以供您了解及选择参考。
|
2月前
|
网络安全 云计算
如何设置阿里云轻量应用服务器镜像?
本文介绍了在阿里云轻量应用服务器上创建与配置镜像的详细步骤。镜像是一种特殊的文件系统映射,可用于快速克隆服务器配置。内容涵盖准备条件、登录控制台、创建实例、生成镜像、下载与设置镜像,以及如何使用镜像启动新实例。适合希望提升服务器部署效率的用户参考。
|
19天前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
79 0
|
8天前
|
开发框架 JavaScript .NET
阿里云轻量应用服务器2核2G38元1年起怎么样?性能、应用场景与购买价值参考
目前在阿里云的活动中,抢购价为38元1年的轻量应用服务器受到了众多个人和中小企业用户的高度关注,该款轻量应用服务器置为2核CPU、2G内存,峰值带宽达200M。那么,此款轻量应用服务器的具体性能如何?适用于哪些应用场景?是否具备较高的购买价值?本文将针对这款特惠轻量应用服务器展开全面且深入的测评与介绍。
196 30
阿里云轻量应用服务器2核2G38元1年起怎么样?性能、应用场景与购买价值参考

热门文章

最新文章