• 2014.12.8 验证


    一般在注册的时候会用到:

    验证控件:
    一、非空验证: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("扩展属性")%>进行绑定。

    eg1:

     

     1.造一个Car类,用于输出系列名字(Brand1.Brand_Name)和厂商名字(Brand1.Productor.Prod_Name)

     1 /// <summary>
     2 /// Car 的摘要说明
     3 /// </summary>
     4 public partial class Car
     5 {
     6     public string BrandName
     7     {
     8         get
     9         {
    10             return Brand1.Brand_Name;
    11         }
    12     }
    13     public string ProdName
    14     {
    15         get
    16         {
    17             return Brand1.Productor.Prod_Name;
    18         }
    19     }
    20 
    21 }
    Car类

     2.新建一个web窗体,拖入Repeater控件,在源代码里写代码

     1 <asp:Repeater ID="Repeater1" runat="server">
     2             <HeaderTemplate>
     3         <table width="100%" border="0" cellspacing="1" cellpadding="5" bgcolor="black">
     4           <tr>
     5             <td align="center" bgcolor="#CCCCCC">代号</td>
     6             <td align="center" bgcolor="#CCCCCC">名称</td>
     7             <td align="center" bgcolor="#CCCCCC">系列</td>
     8             <td align="center" bgcolor="#CCCCCC">上市时间</td>
     9             <td align="center" bgcolor="#CCCCCC">油耗</td>
    10             <td align="center" bgcolor="#CCCCCC">功率</td>
    11             <td align="center" bgcolor="#CCCCCC">排量</td>
    12             <td align="center" bgcolor="#CCCCCC">价格</td>
    13             <td align="center" bgcolor="#CCCCCC">图片</td>
    14           </tr>
    15             </HeaderTemplate>
    16             <FooterTemplate>
    17         </table>
    18                 </FooterTemplate>
    19             <ItemTemplate>
    20           <tr>
    21             <td align="center" bgcolor="#FFFFFF"><%# Eval("Code") %></td>
    22             <td align="center" bgcolor="#FFFFFF"><%# Eval("Name") %></td>
    23             <td align="center" bgcolor="#FFFFFF"><%# Eval("BrandName") %></td>
    24             <td align="center" bgcolor="#FFFFFF"><%# Eval("Time","{0:yyyy/MM/dd}") %></td>
    25             <td align="center" bgcolor="#FFFFFF"><%# Eval("Oil") %></td>
    26             <td align="center" bgcolor="#FFFFFF"><%# Eval("Powers") %></td>
    27             <td align="center" bgcolor="#FFFFFF"><%# Eval("Exhaust") %></td>
    28             <td align="center" bgcolor="#FFFFFF"><%# Eval("Price") %></td>
    29             <td align="center" bgcolor="#FFFFFF"><%# Eval("Pic") %></td>
    30           </tr>
    31                 </ItemTemplate>
    32             
    33             </asp:Repeater>
    Default.aspx源码

     3.在C#代码中编写代码

     1     protected void Page_Load(object sender, EventArgs e)
     2     {
     3         if (!IsPostBack)
     4         {
     5             MyDBDataContext context = new MyDBDataContext();
     6             var q = context.Car;
     7             Repeater1.DataSource = q;
     8             Repeater1.DataBind();
     9         }
    10     }
    Default.aspx.cs

    然后运行。

    eg2:

     1     <form id="form1" runat="server">
     2     <div id="city">
     3     
     4         <asp:Repeater ID="Repeater1" runat="server">
     5             <ItemTemplate>
     6                 <a href="Default6.aspx?id=<%# Eval("AreaCode") %>"><%# Eval("AreaName") %></a>
     7             </ItemTemplate>
     8         </asp:Repeater>
     9         <br />
    10         <br />
    11         <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="Default6.aspx">返回</asp:HyperLink>
    12     </div>
    13     </form>
    aspx源码
     1     private string parent = "0001";
     2     private MyDBDataContext _Context = new MyDBDataContext();
     3     protected void Page_Load(object sender, EventArgs e)
     4     {
     5         if (!IsPostBack)
     6         {
     7             
     8             if (Request["id"] != null)
     9             {
    10                 parent = Request["id"].ToString();
    11             }
    12             //上一级区号等于parent的数据
    13             var query = _Context.ChinaStates.Where(p => p.ParentAreaCode == parent);
    14 
    15             Repeater1.DataSource = query;
    16             Repeater1.DataBind();
    17 
    18             //设置“返回”超链接的地址
    19             SetReturnHREF();
    20         }
    21     }
    22 
    23     private void SetReturnHREF()
    24     {
    25         if (parent == "0001")
    26         {
    27             HyperLink1.Enabled = false;
    28         }
    29         else
    30         {
    31             HyperLink1.Enabled = true;
    32 
    33             var query = _Context.ChinaStates.Where(p=>p.AreaCode == parent);
    34             if (query.Count() > 0)
    35             {
    36                 string p = query.First().ParentAreaCode;
    37                 HyperLink1.NavigateUrl = "Default6.aspx?id="+p;
    38             }
    39             
    40         }
    41     }
    .cs源码

    (先这样吧,困了。)

  • 相关阅读:
    Writing an XMLRPC server or client in ASP.Net: Part 1
    a article test
    基于Android的一个简单多媒体播放器
    一涉及多个知识点的小测试程序
    Android蓝牙测试—发送一文件到另一蓝牙设备
    Android开发入门精品文章导引
    关于List对象的重复项清除和倒序处理
    关于Android的布局
    Android中对文本文件的读写处理
    Android系统中震动功能的测试
  • 原文地址:https://www.cnblogs.com/zsmj001/p/4152216.html
Copyright © 2020-2023  润新知