WebForm 【复合控件】

 

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

 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;
            
            }
        
        }

    }
View Code

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);              
            }

        }

    }
View Code

-- 直接用遍历绑定


                  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;
View Code

 

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);

                   
            }

        }
View Code

 

 取值 

          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  )
 {
        --   第一次加载
 }

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

 

转载于:https://www.cnblogs.com/Tanghongchang/p/6880703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值