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

 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. jwt身份认证

    项目地址:https://github.com/cuongle/WebApi.Jwt

  2. Mongodb--基础(连接,增删改查,数据类型)

    mongodb 日常启动命令 mongod --dbpath D:\data\db 一.启动,连接 mongodb是一个非关系型数据库 1. 启动MongoDB服务: 安装时我并没有将mongodb服 ...

  3. Django(ORM查询1)

    day69 参考:http://www.cnblogs.com/liwenzhou/p/8660826.html 在Python脚本中调用Django环境 orm1.py import os if _ ...

  4. vue 路由传参的三种基本模式

    路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...

  5. Smart/400开发上手5: Cobol开发标准

    ENVIRONMENT DIVISION. CONFIGURATION SECTION.SOURCE-COMPUTER. IBM-AS400.OBJECT-COMPUTER. IBM-AS400. 这 ...

  6. flask——包含,继承,宏

     包含,继承,宏  都是为了提高代码的效率,都是为了防止代码的沉余,浪费资源 宏(macro) 可以把它看做Jinja2中的一个函数,他会返回一个模板或者HTML字符串,为了避免反复的编写同样的模板代 ...

  7. Django + Uwsgi + Nginx 实现生产环境 项目部署

    内容: uwsgi 介绍 uwsgi安装使用 nginx安装配置 django with nginx 如何在生产上部署Django项目? Django项目的部署可以有很多方式,采用nginx+uwsg ...

  8. android stdio 编译项目报Error:Failed to find target with hash string 'android-24

    android stdio 编译项目报Error:Failed to find target with hash string 'android-24 查看已有的SDK 设置项目的sdk为 25 an ...

  9. python使用(二)

    Python中的集合类型. 1.list_option.py 2.listsplit_option.py 3. dic_option.py 4.iter_option.py 1.list_option ...

  10. (转)explain、db2exfmt 命令的使用:文本输出执行计划

    原文:http://blog.51cto.com/freebile/1068610 db2有图形执行计划显示工具,如果没有图形环境,如unix主机,可以生成文本的文件来显示执行计划1.如果第一次执行, ...