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

 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. Html Agility Pack解析Html(C#爬虫利器)

    有个需求要写网络爬虫,以前接触过一个叫Html Agility Pack这个解析html的库,这次又要用到,然而发现以前咋用的已经不记得了,现在从头开始记录一下使用过程. Html Agility P ...

  2. Unity 屏幕外死亡的敌人的分数显示在屏幕内

    在敌人死亡后,会出现分数,如果敌人死亡的位置在屏幕内,那么使得获得的分数显示在屏幕内,超出屏幕范围的,显示在屏幕外 当然,这里例子是使得场景中的物体显示在屏幕内,当然也可以使用纯粹的UGUI物体的显示 ...

  3. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  4. SpringCloud实现集群和负载均衡

    Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的. 组成部分 spingcloud的五大神兽 服务发现——Netflix Eureka ...

  5. python--Websocket实现, 加密 sha1,base64

    需要用到gevent-websocket包,这里我们用下图这个 一.websocket简单实现 ep1.py from geventwebsocket.handler import WebSocket ...

  6. OCP新题,2019题库出现大量新题,062-第22题

    choose two Your database is running in ARCHIVELOG mode. You want to take a consistent whole database ...

  7. Python大黑阔—url采集+exp验证,带你批量测试

    i春秋作家:大木瓜 前言: 最近几天在整理从各处收集来的各种工具包,大大小小的塞满了十几个G的硬盘,无意间发现了一个好几年前的0day.心血来潮就拿去试了一下,没想到真的还可以用,不过那些站点都已经老 ...

  8. 移动端font-size适配方案(续)

    概述 之前写过一篇移动端font-size适配方案,但是在实践过程中,还是发现当时的思维太局限了,视野太窄了,所以现在补充更新一下,记录下来,供以后开发时参考,相信对其他人也有用. 我上一篇博文主要有 ...

  9. 转---写一个网页进度loading

    作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...

  10. flask中邮件发送方法

    from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) #配置邮件:服务器/端口/传输层安 ...