• C#-WebForm-复合控件


    学习顺序:1、如何绑定数据  2、如何设置绑定项  3、如何取出数据

    1、RadioButton - 单选按钮  RadioButtonList - 单选按钮组

    控件中的ID生成了相同名字的 ID、Name、Value

    编译前

    <asp:RadioButton ID="RadioButton1" runat="server" Text="男" />
    <asp:RadioButton ID="RadioButton2" runat="server" Text="女" />

    页面展示  单选按钮之间不互斥,自动生成name,默认name不同(李献策lxc)

    编译后

    <input id="RadioButton1" type="radio" name="RadioButton1" value="RadioButton1" /><label for="RadioButton1">男</label>
    <input id="RadioButton2" type="radio" name="RadioButton2" value="RadioButton2" /><label for="RadioButton2">女</label>

     属性:

      GroupName - 分组

    <asp:RadioButton ID="RadioButton1" runat="server" Text="" GroupName="sex" />
    <asp:RadioButton ID="RadioButton2" runat="server" Text="" GroupName="sex" />

    RadioButtonList - 单选按钮组(李献策lxc)

    一、绑定数据

    新建一个类

    1、自带构造函数  2、没有命名空间

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<States> slist = new List<States>();
    
            States s1 = new States() { Code = "001", Name = "张店" };
            States s2 = new States() { Code = "002", Name = "淄川" };
            States s3 = new States() { Code = "003", Name = "博山" };
            States s4 = new States() { Code = "004", Name = "桓台" };
            States s5 = new States() { Code = "005", Name = "临淄" };
            States s6 = new States() { Code = "006", Name = "周村" };
    
            slist.Add(s1);
            slist.Add(s2);
            slist.Add(s3);
            slist.Add(s4);
            slist.Add(s5);
            slist.Add(s6);
    
            RadioButtonList1.DataSource = slist;
            RadioButtonList1.DataTextField = "Name";
            RadioButtonList1.DataValueField = "Code";
            RadioButtonList1.DataBind();
    
        }
        
    }
    为复选按钮组绑定信息

    网页展示

    后台代码

    <div>
    
                <table id="RadioButtonList1">
        <tr>
            <td><input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="001" /><label for="RadioButtonList1_0">张店</label></td>
        </tr><tr>
            <td><input id="RadioButtonList1_1" type="radio" name="RadioButtonList1" value="002" /><label for="RadioButtonList1_1">淄川</label></td>
        </tr><tr>
            <td><input id="RadioButtonList1_2" type="radio" name="RadioButtonList1" value="003" /><label for="RadioButtonList1_2">博山</label></td>
        </tr><tr>
            <td><input id="RadioButtonList1_3" type="radio" name="RadioButtonList1" value="004" /><label for="RadioButtonList1_3">桓台</label></td>
        </tr><tr>
            <td><input id="RadioButtonList1_4" type="radio" name="RadioButtonList1" value="005" /><label for="RadioButtonList1_4">临淄</label></td>
        </tr><tr>
            <td><input id="RadioButtonList1_5" type="radio" name="RadioButtonList1" value="006" /><label for="RadioButtonList1_5">周村</label></td>
        </tr>
    </table>
    
    
            </div>
    后台代码

    1、自动按照索引排序  2、相同的name  3、自动生成value  

    4、Table 布局(弊端:1、Table布的局,如果要将某个部分换到其他位置,则整个Table要重新做  2、搜索引擎是无法趴到Table内的内容)

    二、设置选定项

    1、通过索引选中

    RadioButtonList1.SelectedIndex = 0;

    如果是最后一个(李献策lxc)

    RadioButtonList1.SelectedIndex = slist.Count - 1;

    2、通过Value值选中

    RadioButtonList1.SelectedValue = "001";

    3、如何通过Text来设置选中项?

    foreach(ListItem li in RadioButtonList1.Items)
            {
                if (li.Text == "临淄")
                {
                    li.Selected = true;
                }
            }
    通过遍历设置选中项

    三、取出数据

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<States> slist = new List<States>();
    
                States s1 = new States() { Code = "001", Name = "张店" };
                States s2 = new States() { Code = "002", Name = "淄川" };
                States s3 = new States() { Code = "003", Name = "博山" };
                States s4 = new States() { Code = "004", Name = "桓台" };
                States s5 = new States() { Code = "005", Name = "临淄" };
                States s6 = new States() { Code = "006", Name = "周村" };
    
                slist.Add(s1);
                slist.Add(s2);
                slist.Add(s3);
                slist.Add(s4);
                slist.Add(s5);
                slist.Add(s6);
    
                RadioButtonList1.DataSource = slist;
                RadioButtonList1.DataTextField = "Name";
                RadioButtonList1.DataValueField = "Code";
                RadioButtonList1.DataBind();
    
                foreach (ListItem li in RadioButtonList1.Items)
                {
                    if (li.Text == "临淄")
                    {
                        li.Selected = true;
                    }
                }
            }
    
            Button1.Click += Button1_Click;
    
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = RadioButtonList1.SelectedValue;
        }
        
    }
    设置按钮事件取出value值

    void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = RadioButtonList1.SelectedItem.Text;
        }
    设置按钮事件取出Text值则为

     ======================================================

    2、CheckBoxList - 复选按钮组

    一、绑定数据

    绑定
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<States> slist = new List<States>();
    
                States s1 = new States() { Code = "001", Name = "张店" };
                States s2 = new States() { Code = "002", Name = "淄川" };
                States s3 = new States() { Code = "003", Name = "博山" };
                States s4 = new States() { Code = "004", Name = "桓台" };
                States s5 = new States() { Code = "005", Name = "临淄" };
                States s6 = new States() { Code = "006", Name = "周村" };
    
                slist.Add(s1);
                slist.Add(s2);
                slist.Add(s3);
                slist.Add(s4);
                slist.Add(s5);
                slist.Add(s6);
    
                CheckBoxList1.DataSource = slist;
                CheckBoxList1.DataTextField = "Name";
                CheckBoxList1.DataValueField = "Code";
                CheckBoxList1.DataBind();
    
                foreach (ListItem li in CheckBoxList1.Items)
                {
                    if (li.Text == "临淄")
                    {
                        li.Selected = true;
                    }
                }
            }
    
            Button1.Click += Button1_Click;
    
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = CheckBoxList1.SelectedItem.Text;
        }
        
    }
    数据

    二、设置选定项

    同RadioButtonList

    三、取出数据

    void Button1_Click(object sender, EventArgs e)
        {
            string s="";
            foreach(ListItem li in CheckBoxList1.Items)
            {
                if (li.Selected)
                {
                    s += li.Text;
                }
            }
            TextBox1.Text = s;
        }
    取出数据

    ===========================================================

    RadioButtonList 与 CheckButtonList 的属性

      RepeatDirection:项的布局方向

        Horizontal:横向排列  Vertical:纵向排列

      RepeatLayout:项是否在某个表或流入中重复

        Talbe:数据在表格中  Flow:数据在流式布局中  (李献策lxc)

        OrderedList:数据按照有序列表排列(只能纵向排列)  UnorderedList:数据在无序列表中排列(只能纵向排列)

      RepeatColumns:用于布局项的列数

    ===========================================================

     3、下拉列表DropDownList - 对应单选按钮组

    WinForm - ComboBox  WebForm - DropDownList

    一、绑定数据

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<States> slist = new List<States>();
    
                States s1 = new States() { Code = "001", Name = "张店" };
                States s2 = new States() { Code = "002", Name = "淄川" };
                States s3 = new States() { Code = "003", Name = "博山" };
                States s4 = new States() { Code = "004", Name = "桓台" };
                States s5 = new States() { Code = "005", Name = "临淄" };
                States s6 = new States() { Code = "006", Name = "周村" };
    
                slist.Add(s1);
                slist.Add(s2);
                slist.Add(s3);
                slist.Add(s4);
                slist.Add(s5);
                slist.Add(s6);
    
                DropDownList1.DataSource = slist;
                DropDownList1.DataTextField = "Name";
                DropDownList1.DataValueField = "Code";
                DropDownList1.DataBind();
    
                }
            }
    绑定数据

    二、设置选定项

    同上

    三、取出选定项

    同时

    属性

    =========================================================

    4、ListBox - 对应复选按钮组,默认单选

    属性:

      SelectionMode:选择模式

        Single:单选  Multiple:多选

  • 相关阅读:
    发送邮件封装的方法
    异步编程
    Xaml中string(字符串)常量的定义以及空格的处理
    python中lxml的应用
    Python打包成exe
    利用TaskScheduler处理Queue、Stack等类型的操作队列(生产者消费者场景)
    TreeView的性能问题
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
    WPF中ToolTip的自定义
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
  • 原文地址:https://www.cnblogs.com/qq450867541/p/6233743.html
Copyright © 2020-2023  润新知