zoukankan      html  css  js  c++  java
  • webform--常用的控件

     

    一、简单控件

    1、Lable——标签:在网页中呈现出来的时候会变成span标签

    属性:Text——标签上的文字

        BackColor,ForeColor——背景色,前景色

       Font——字体   

      Bold-加粗   Italic-倾斜   UnderLine-下划线     OverLine 上划线     StrikeOut 删除线   Name - 字体名   Size - 字体的大小

    BorderColor——边框颜色

      BorderWidth-边框粗细   BorderStyle - 边框样式

      Height——高

      Width——宽

      Enabled-是否可用   Visible-是否可见   ToolTip-鼠标指上去的提示信息   CssClass - 样式表的class选择器

    2.Literal——这也是一个文本标签,但它在网页中显示的时候不会变成span标签

    它 的属性很少,是派生自control类的

    3.TextBox——文本框     HiddenField——隐藏域  textarea--文本域 

    属性:它拥有Lable所有的属性

       TextMode:文本框的呈现模式——SingleLine--单行文本框;MultiLine-多行文本框;Password-密码框

           ReadOnly - 只读        MaxLength - 最大输入的字符数。只有TextMode是SingleLine和Password的时候起作用,在MultiLine的时候不起作用。

           Columns:宽度,以字母个数为单位        Rows:高度,以行数为单位。只有TextMode是MultiLine的时候才起作用。在单行文本或多行文本下是不起作用的。

    4.Button——按钮      LinkButton 超链接按钮        ImageButton 图片按钮(ImageUrl属性,需要把图片放项目文件夹中,如果VS没有显示出来,需要刷新下)

    属性:它拥有Lable所有的属性

            OnClientClick:当按钮被点击的时候,要执行的客户端的JS代码。它的触发要在按钮的C#事件代码之前。

    5.HyperLink:超链接

    属性:它拥有Lable所有的属性

           NavigateUrl:超链接指向的地址,相当于href

       Target:打开位置

       ImageUrl:图片超链接的地址

    6.Image——图片

    属性:拥有Lable所有的属性

     ImageUrl:图片的地址

    二,复合控件

    1.DropDownList——下拉列表    拥有Lable的所有属性

    对于DropDownlist必须会做三件事

    (1)把内容填进去

    法一:逐项添加

    复制代码
     1 private void FillList()
     2     {
     3         List<QuanxianData> list = new QuanxianDA().Select();
     4         //QuanxianData qd=new QuanxianData();   
     5         //qd.Qname="请选择";
     6         //qd.Qno="-1";
     7         //list.Insert(0, qd);在第一项加上“请选择”的功能
     8 foreach (QuanxianData data in list)
     9         {
    10             ListItem item = new ListItem();
    11             item.Text = data.Qname;
    12             item.Value = data.Qno;
    13             DropDownList1.Items.Add(item);
    14         }
    15     }
    复制代码

    法二:数据绑定(用这种简便方法)

    复制代码
     1 private void FillList2()
     2     {
     3         List<QuanxianData> list = new QuanxianDA().Select();
     4         DropDownList1.DataSource = list;//绑定数据源
     5         DropDownList1.DataTextField = "Qname";//要显示哪一数据列
     6         DropDownList1.DataValueField = "Qno";//要设置一个value值
     7         DropDownList1.DataBind();  //最终执行绑定填充,不要漏掉
     8     }
     9 
    10 
    11 //linq连接数据库方法
    12 
    13 public partial class _Default : System.Web.UI.Page
    14 {
    15     protected void Page_Load(object sender, EventArgs e)
    16     {
    17         testDataContext _context = new testDataContext();
    18        DropDownList1.DataSource=  _context.Nation;
    19        DropDownList1.DataTextField ="Name";//要显示哪一项内容
    20        DropDownList1.DataValueField = "Code";//
    21        DropDownList1.DataBind();
    22  //最终执行绑定填充,不要漏掉
    23  }
    24 }
    复制代码

    技巧:如何给下拉列表加上“请选择”的功能

    1.用以上代码中的方法

    2.事先在下拉列表中设置静态的"请选择"列表项。然后再绑定或添加数据的时候在后面添加上。

    如果采用数据绑定模式,默认情况下会把原有的项冲掉。需要设置AppendDataBoundItems属性为true。

    3.所有的项都绑定或填加到下拉列表后,再写代码加上”请选择“的功能。

    复制代码
    1 protected void Page_Load(object sender, EventArgs e)
    2     {
    3         FillList();
    4         ListItem li = new ListItem("请选择", "-1");
    5         DropDownList1.Items.Insert(0, li);
    6     }
    复制代码

    (2)把选中的值取出来:选择列表里的项,点击按钮,在标签中显示选择的内容

     注:由于DropDownList需要打到服务器执行,需要把属性AutoPostBack(当内容更改时,自动发回到服务器)改为Ture;

    复制代码
    1 protected void Button1_Click(object sender, EventArgs e)
    2     {
    3         Label1.Text = DropDownList1.SelectedItem.Text + DropDownList1.SelectedItem.Value;//取出选中项的文本和值
    4         Label1.Text = DropDownList1.SelectedValue;//取出选中项的值
    5         int index = DropDownList1.SelectedIndex;//取出选中项的索引号
    6         Label1.Text = DropDownList1.Items[index].Text + DropDownList1.Items[index].Value;//取出对应索引号的文本和值
    7     }
    复制代码

    注意:每次点击按钮时,都是要先执行Page_Load中的代码,然后再执行Button-Click中的代码

    所以在Page_Load中要加入一下代码

    if(!IsPostBack) { 防止每次点击提交页面都会执行这里面的代码。 这里面的代码,只有页面初次加载的时候才被执行。点击按钮提交的时候,不会被执行到。 以后记着:在Page_Load事件中99%的情况下需要写这段判断 }

    (3)设定某项为选中项

    给DropDownList的两个属性赋值: SelectedIndex = 选中的索引号 SelectedValue = 选中项的值

    protected void Button2_Click(object sender, EventArgs e)
        {
            //DropDownList1.SelectedIndex = Convert.ToInt32(TextBox1.Text);
            DropDownList1.SelectedValue = TextBox1.Text;
        }

    2.RadioButtonList——单选按钮列表  Radiobutton--单选按钮

    1.Radiobutton: 属性GroupName组名,同一个组名下的单选按钮产生互斥效果(例如:注册时选男、女)

    例子:给2个Radiobutton设置同样的组名

    属性:它拥有Dropdownlist所有的属性和功能

    RepeatDirection:布局的方向

    RepeatLayout:布局方式

    RepeatColumns:一行显示几个

    案例: 和Dropdownlist相同

    3.CheckBoxList——复选框列表  CheckBox——复选框

    1.CheckBox——复选框:属性:checked 是否选中;取值checkbox.text="";

    拥有RadioButtonList所有的属性和功能

    显示数据:

    复制代码
    protected void Page_Load(object sender, EventArgs e)
        {
            DataClassesDataContext _conect = new DataClassesDataContext();//建立上下文连接对象
           CheckBoxList1.DataSource =   _conect.Nation;  //获取数据源
           CheckBoxList1.DataTextField = "Name";//要显示的项
           CheckBoxList1.DataValueField = "Code";//返回值
           CheckBoxList1.DataBind();//绑定数据源
    
        }
    复制代码

     技巧: (1)如何获取选中的多个项? //获取复选框的选中值。 //思路:遍历复选框列表中的每个项,判断每个项的选中情况。

    复制代码
    foreach (ListItem li in CheckBoxList1.Items)
    {
       if (li.Selected)
       {
         Label2.Text += li.Value + ",";
       }
    }
    复制代码

    2)如何设置几个项同时被选中

    //设置文本框中指定的项(用 | 隔开的每一项)被选中 //思路:从文本框中解析出要选中的项的value值,然后再遍历每一项,判断是否是文本框中指定的,是的话就设为选中,不是就设为不选中。

    复制代码
    CheckBoxList1.SelectedIndex = -1; //先清空列表中被选中的项
    
    string s = TextBox1.Text;
    string[] ss = s.Split('|'); //解析出要选中的value值
    
      foreach (ListItem li in CheckBoxList1.Items)
      {
        if (ss.Contains(li.Value))
         {
              li.Selected = true;
              continue;
         }
     }
    复制代码

    4.ListBox——列表框

    拥有Dropdownlist所有的属性和功能

    SelectionMode - Single,Multiple

    案例:如果是单选的话就照着Dropdownlist来做

    如果是多选的话就照着Checkboxlist来做

    5.RadioButtonList:单选按钮列表: 显示数据: RadioButtonList1.DataSource = context.Nation;           RadioButtonList1.DataTextField = "Name";           RadioButtonList1.DataValueField = "Code";           RadioButtonList1.DataBind(); 取选中项的值: RadioButtonList1.SelectedValue.ToString(); 设置选中项: RadioButtonList1.SelectedIndex = 2;

    6.验证控件

    验证控件: 一、非空验证:RequiredFieldValidator ErrorMessage:错误提示信息 ControlToValidate:要验证哪一个控件 Display:Static--不显示也占空间。Dynamic--不显示不占空间 InitialValue:初始值。

    应用: 1.必须填 2.像“不能为空”,这种提示的形式。

    二、对比验证:CompareValidator ErrorMessage: ControlToValidate: Display:Static--不显示也占空间。Dynamic--不显示不占空间 ControlToCompare:要对比的控件。 ValueToCompare:要对比的值 Type:按照什么类型对比。输入的类型。 Operator:运算符

    应用: 1.密码和确认密码——两个控件对比 2.月收入——控件和某个固定值对比。

    三、范围验证: RangeValidator ErrorMessage: ControlToValidate: Display:Static--不显示也占空间。Dynamic--不显示不占空间 Type:按照什么类型对比,需要输入的是什么类型 MaximumValue:范围的最大值 MinmumValue:范围的最小值

    四、正则表达式验证:RegularExpressionValidator ErrorMessage: ControlToValidate: Display:Static--不显示也占空间。Dynamic--不显示不占空间 RegularExpression:正则表达式

    注意:正则表达式的使用与修改

    五、自定义验证:CustomValidator ErrorMessage: ControlToValidate: Display:Static--不显示也占空间。Dynamic--不显示不占空间 ClientValidationFunction:自定义的客户端验证函数

    第一步:设置ClientValidationFunction属性 第二步:为ClientValidationFunction的属性编写JS代码 //像C#服务端事件函数一样,sender是事件源,args是事件数据 function checkSex(sender, bbb) {             //把要验证的值取出来。 var s = bbb.Value; //把验证控件要验证的那个控件(文本框)里面的值给取出来。 //进行验证 if (s == "男生" || s == "女生") {                 //告诉系统,验证结果是否正确 bbb.IsValid = true;             }             else {                 //告诉系统,验证结果是否正确 bbb.IsValid = false;             }

            }

    六、ValidationSummary:验证汇总控件 ShowMessageBox:是否以对话框的形式显示错误信息 ShowSummary:是否在页面上显示错误信息

    七、验证分组: 把同一组的输入控件、按钮、验证控件的ValidationGroup属性设成一样的。

    Repeater控件:展示数据库相关的数据 外观与数据分离。 外观代码:用模板来实现的。(头,脚,项,交替项,分隔符模板) <asp:Repeater ID="Repeater1" runat="server">             <HeaderTemplate>                 <ul>             </HeaderTemplate>             <ItemTemplate>                 <li><%# Eval("Name") %></li>             </ItemTemplate>             <FooterTemplate>                 </ul>             </FooterTemplate>         </asp:Repeater> 数据代码:C#的绑定代码。 var query = _Context.Info;

                Repeater1.DataSource = query;             Repeater1.DataBind();

    Repeater在模板中绑定数据三种方式: 1.<%# Eval("属性名或列名","格式如{0:yyyy-MM-dd}")%> 2.<%# 函数名()%>,函数需要事先在.cs文件写好,并返回字符串。如: public string ShowSexName()     {         bool sex = Convert.ToBoolean(Eval("Sex"));         return sex ? "男" : "女";     } 3.如果使用的实体类(如Linq),可扩展属性,在模板中使用<%# Eval("扩展属性")%>进行绑定。

  • 相关阅读:
    Leetcode 16.25 LRU缓存 哈希表与双向链表的组合
    Leetcode437 路径总和 III 双递归与前缀和
    leetcode 0404 二叉树检查平衡性 DFS
    Leetcode 1219 黄金矿工 暴力回溯
    Leetcode1218 最长定差子序列 哈希表优化DP
    Leetcode 91 解码方法
    Leetcode 129 求根到叶子节点数字之和 DFS优化
    Leetcode 125 验证回文串 双指针
    Docker安装Mysql记录
    vmware虚拟机---Liunx配置静态IP
  • 原文地址:https://www.cnblogs.com/dcdgmjzhal/p/4877718.html
Copyright © 2011-2022 走看看