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

 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. MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟

    本来MySQL BINLOG和mysqldump命令属于八竿子打不着的两个事物,但在最近故障排查中,发现主库和从库已经存在很严重的复制延迟,但从库上显示slave_behind_master值为0,复 ...

  2. (zxing.net)二维码Aztec的简介、实现与解码

    一.简介 Aztec Code是1995年,由Hand HeldProducts公司的Dr. Andrew Longacre设计.它是一种高容量的二维条形码格式.它可以对ASCII和扩展ASCII码进 ...

  3. pycharm光标变成黑框,恢复成竖线

    pycharm光标变成黑框,如下图所示 解决办法: 按外接键盘上的Insert键,即可恢复.

  4. [HAOI2018]染色(容斥+NTT)

    补充一篇详细得不能再详细的题解,比如让我自己看懂. 可能与前面的题解有些相同,我想补充一下自己的想法. 显然,最多 \(K\) 最大为 \(N=min(\lfloor \frac nS\rfloor, ...

  5. 基于iview的后台管理

    年前由于时间紧迫,原本使用iview技术开发后台管理系统的大神另有任务,我中途接手该项目,此前对于iview一无所知的我是一脸的懵逼,好在后台管理的整体框架大神已经搭建好了,而我之前对vue也有一定的 ...

  6. ES6之Array.from()方法

    Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组. 那么什么是类数组对象呢?所谓类数组对象,最基本的要求就是具有length属性的对象. 1.将类数组对象转换为真正数 ...

  7. iOS开发-仿微信图片分享界面实现

    分享功能目前几乎已成为很多app的标配了,其中微信,微博等app的图片分享界面设计的很棒,不仅能够展示缩略图,还可以预览删除.最近我在做一款社交分享app,其中就要实现图文分享功能,于是试着自行实现仿 ...

  8. GPS/轨迹追踪、轨迹回放、围栏控制

    折腾一个多月终于弄完了这个项目,起初都未曾接触GPS/轨迹追踪.轨迹回放.圈划围栏...等一些在百度地图或者Googel地图操作的一些业务,后端的业务相对来说简单点 cas单点登录,mongdb灵活的 ...

  9. MySQL查询表结构命令

    参考网址:https://www.cnblogs.com/zhangyuhang3/p/6873895.html 一.简单描述表结构,字段类型 desc tabl_name; desc tabl_na ...

  10. Activity四大启动模式

    ctivity的四种启动模式: standard.singleTop.singleTask.singleInstance 为了打印方便,定义一个基础Activity,在其onCreate方法和onNe ...