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("扩展属性")%>进行绑定。

  • 相关阅读:
    bean的作用域和生命周期
    装配Bean的三种方式
    BeanFactory和ApplicationContext对比
    创建 Spring容器的三种方式
    约束
    三大范式
    事务
    EdgeRank
    TCP三次握手四次挥手
    Linux权限解释
  • 原文地址:https://www.cnblogs.com/dcdgmjzhal/p/4877718.html
Copyright © 2011-2022 走看看