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源码

 

(先这样吧,困了。)

posted on 2014-12-08 23:25  格林威治  阅读(299)  评论(0编辑  收藏  举报

友情链接:活动板房 金伟利经贸 淄博月子中心 不锈钢激光切割机 玻璃鳞片胶泥 珍珠棉