一 复合控件(取值,赋值用法相近)

 RadioButtonList      --单选按钮 (一组列表)

 <asp:RadioButtonList ID="RadioButtonList2" runat="server">

   </asp:RadioButtonList>  

 -- 每一个单选按钮就是一个 listitem  

控件属性

  RepeatColumns : 3;                  -- 有3列(每行有几个按钮)

  RepeatDirection   vertical          -- 垂直排列

Horizontal      --水平排列

  RepeatLayout   Table                 -- 用表格的方式展现

Flow                  --用 span 的方式展现

  应用

        <asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value ="True" Selected ="True" >男</asp:ListItem>
<asp:ListItem Value ="False" >女</asp:ListItem>
</asp:RadioButtonList>

 赋值 

1、

    protected void Page_Load(object sender, EventArgs e)
{
//绑定数据
RadioButtonList1.DataSource = new usernationData().SelectAll();
RadioButtonList1.DataTextField = "NationName";
RadioButtonList1.DataValueField = "NationCode";
RadioButtonList1.DataBind(); //设置默认项
foreach ( ListItem li in RadioButtonList1.Items )
{
if (li.Value == "n003")
{
li.Selected = true; } } }

RadioButtonList1.DataSource = new usernationData().SelectAll()    -- 指向数据源

RadioButtonList1.DataTextField = "NationName";   -- 显示的内容

RadioButtonList1.DataValueField = "NationCode";  -- 隐藏的内容

RadioButtonList1.DataBind();                                   -- 绑定

2、

        protected void Page_Load(object sender, EventArgs e)
{
List<usernation> ulist = new usernationData().SelectAll(); if (IsPostBack == false)
{
foreach (usernation u in ulist)
{
ListItem li = new ListItem();
li.Text = u.NationName;
li.Value = u.NationCode; if (li.Value == "N003")
{
li.Selected = true;
} RadioButtonList1.Items.Add(li);
} } }

-- 直接用遍历绑定

                  if( ! ispostback )
                { 
               |         只需要在页面第一次加载的时候才执行的代码写到这里面

|         注意95%的代码都要写到这里面

|                                   -- !!!!事件委托不能写到这里面

               } 

  取值  

 RadioButtonList1.SelectedValue;         -- 获取隐藏的值

 RadioButtonList1.SelectedItem.Text;  -- 获取看到的值

CheckBoxList         -- 复选列表

<asp:CheckBoxList ID="CheckBoxList1" runat="server">

</asp:CheckBoxList>

 CheckBoxlist.Items    所有选项 

控件属性

       AutopostBack = " true ";         自动提交

         SelectedIndexChanged         选项一改变就触发

  取值  

string s = "";
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected)
{
s += li.Text;
}
}
Label.Text = s;

CheckBoxList1.SelectedItem.Text;    -- 选单个值

DropDownList     -- 下拉列表

         <asp:DropDownList ID="DropDownList1" runat="server">

        </asp:DropDownList>

 赋值 

        List<usernation> ulist = new usernationData().SelectAll();

        if (IsPostBack == false)
{
foreach (usernation u in ulist)
{
ListItem li = new ListItem();
li.Text = u.NationName;
li.Value = u.NationCode; DropDownList1.Items.Add(li); } }

 取值 

          DropDownList1.SelectedItem.Text;

  清空下拉项  

  DropDownList1.Items.Clear(  );

dropDownList控件绑定数据后,在显示时默认情况下是第一个选项处于选中状态。这时,展开控件的所有选项,

如果第一次选择的就是默认项,那么,dropdownlist_selectedChange事件将不会触发,

只有在选择一次非默认选项后,再返回来选择才会有效。

解决方法:

1、dropdownlist绑定的数据源不变,页面加载时默认选项的信息也随着页面加载同时显示。

 foreach ( ListItem  li  in DropDownList1.Items )
{
if (li.Value == "n003")
{
li.Selected = true; }
}

1、给dropdownlist添加一个默认选项(“——请选择——”),

 

---------------------------------------------------------------------------------

page_load事件在每一次页面刷新的时候都会执行,会把数据重新绑定一次,再去执行按钮事件

判断页面是否是第一次加载还是响应回发

 if( ispostback == false  )
 {
        --   第一次加载
 }

--  响应回发(点击事件等)

WebForm 【复合控件】的更多相关文章

  1. webform 复合控件

    RadioButtonList  单选按钮列表 属性:RepeatColumns 用于布局项的列数(每一行的个数) RepeatDirection 选择Vertical,纵向排列:选择Horizont ...

  2. 【2017-05-19】WebForm复合控件

    自动提交的属性: AutoPostBack="True" 1.RadioButtonList     单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...

  3. WebForm复合控件RadioButtonList、CheckBoxList、DropDownList

    1.RadioButtonList     单选集合 -属性:RepeatDirection:Vertical (垂直排布)/Horizontal (横向排布) RepeatLayout:Table ...

  4. 【2017-05-19】WebForm复合控件、用DropDownList实现时间日期选择。

    自动提交的属性: AutoPostBack="True" 1.RadioButtonList     单选集合 -属性:RepeatDirection:Vertical (垂直排布 ...

  5. Webform(简单控件、复合控件)

    一.简单控件: 1.label控件 <asp:Label ID="Label1" runat="server" Text="账 号:" ...

  6. webform简单、复合控件

    简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 2.Literal 空的,C#会把里 ...

  7. WebForm简单控件,复合控件

    简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 __________________ ...

  8. WebForm 简单控件、复合控件

    简单控件: Label:被编译成span 样式表里设置lable的高度:  display:inline-block; Text  --文本 ForeColor  --字体颜色 Visible  -- ...

  9. webform(复合控件)

    一.组合单选 RadioButtonList 单选按钮与简单控件不同,可理解为在集合中放置多对象 例: <asp:RadioButtonList ID="RadioButtonList ...

随机推荐

  1. spark Graph 的PregelAPI 理解和使用

    spark Graph 的PregelAPI 理解和使用 图本质上是一种递归的数据结构,可以使用Spark GraphX 的PregelAPI接口对图数据进行批量计算, 之前一直不怎么理解Pregel ...

  2. Git清空历史,清空历史删除的文件,降低.git 文件大小

    执行以下步骤之前 请做好源码备份 本操作用来清理github上面的历史删除文件,减少库的体积. 第一步骤 下载JDK环境和JAR包 https://rtyley.github.io/bfg-repo- ...

  3. java面试和笔试

    1.Java中异常处理机制和事件机制. 2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java. ...

  4. Python3.5 学习二十

    学会用三种方法检索数据 1.对象方式 2.字典方式 3.元组方式 models后面,如果是.values() 则为字典方式 如果是value_list() 则为元组方式 跨表操作时,如果是对象,可以用 ...

  5. python3之paramiko模块

    1.paramiko模块介绍 paramiko模块提供了基于ssh连接,进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 2.paramiko的使用方法 (1 ...

  6. [翻译]Elasticsearch重要文章之四:监控每个节点(jvm部分)

    http://zhaoyanblog.com/archives/753.html 操作系统和进程部分 操作系统和进程部分的含义是很清楚的,这里不会描述的很详细.他们列出了基本的资源统计,例如CPU和负 ...

  7. LVS健康检查脚本

    #!/bin/bash #============================================================================= VIP=10.10 ...

  8. 一步步Cobol 400上手自学入门教程04 - 过程部

    过程部的作用:编写程序要执行的语句,是程序的核心. 结构: 基本语句 INITIALIZE 设置数据项的初始值 ACCEPT 接收从键盘或指定设备上获得输入数据. 例子: 当批处理文件读到调用ACCP ...

  9. 原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)

    原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想) 总体思想:     希望让调用方通过 http调用传入一个需要生成图片的网页链接生成一个网页的图片并返回图片链接 ...

  10. 课程一(Neural Networks and Deep Learning)总结——1、Logistic Regression

    ---------------------------------------------------------------------------------------------------- ...