前言
最近自己接受了一个项目,虽然自己的任务比较简单,和牛腩的东西很相似。也是体会到了,从无到有做一个东西,和看着视频完成一个demo的感觉真是不一样的,这两个控件这两天使用的比较多,现在对他们是熟悉多了~
Repeater
Repeater控件,用于显示重复的项目列表,这些项目被限制在该控件中。Repeater控件可以绑定数据库和xml文件。
Repeater嵌套table
之前使用Repeater控件都是嵌套在一个表格中的,对表格中的内容进行绑定进而重复的显示。代码如下:
<table class="m_table" >
<tr>
<th class="xuhao">序号</th>
<th class="leibiename">类别名称</th>
<th class="del">操作</th>
</tr>
<asp:Repeater ID="repCategory" runat="server">
<ItemTemplate >
<tr>
<td>
<%# Eval("id") %>
</td>
<td class="caname">
<%# Eval("name") %>
</td>
<td>
<asp:LinkButton ID="lbtnDelCa" runat="server" CommandArgument=' <%# Eval("id") %>' OnClientClick="return confirm('删除类别会使其下新闻和评论全部删除,是否真的要删除?')" OnClick ="lbtnDelCa_Click">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
后来要自己写的时候,自己用的是Reapter对整个表的绑定,其实原理是差不多的,将重复的内容绑在ItemTemplate中就好了,不知道当时自己是是在绕什么,绕了好久的。这是嵌套表格的代码,大家拍砖斧正:
<asp:Repeater ID="repGirth" runat="server" >
<ItemTemplate >
<div id="time">
<script>
</script>
<p><%# DateTime.Parse(Eval("timestamp").ToString()) %></p>
</div>
<hr/>
<div id ="tbGirth">
<table>
<tr>
<td >腰围</td>
<td ><%#Eval ("waistline") %> cm</td>
</tr>
<tr>
<td >胸围</td>
<td><%#Eval("Chest") %> cm</td>
</tr>
<tr>
<td >臀围</td>
<td><%#Eval("Hipline") %> cm</td>
</tr>
<tr>
<td >手臂围</td>
<td><%#Eval("Arm") %> cm</td>
</tr>
<tr>
<td >大腿围</td>
<td><%#Eval("Thigh") %> cm</td>
</tr>
<tr>
<td >小腿围</td>
<td><%#Eval("Calf") %> cm</td>
</tr>
</table>
</div>
<hr/>
</ItemTemplate>
</asp:Repeater>
运行之后的效果图,如下:
这个控件和我们使用的DataGirdview很像,我们可以去体会。
验证控件
我们第一次接触这样的控件,不过使用起来确实很方便,可以达到判空,字段比较,表达式检查,所有错误一起收集的作用。我们常用的控件都在下面的图中,分享一下:
RequiredFieldValidator
验证控件是否为空,在controltovalidate中绑定控件就可以验证。CompareValidator
验证控件控件的字段比较,可以比较两个控件的内容,也可以输入固定的值进行比较,这里需要设置operator 属性,也就是他们的关系(等于,小于,大于,等)。RequiredFieldValidator
验证控件是否为空,在controltovalidate中绑定控件就可以验证。RangeValidator
验证控件内容的范围,可以设置范围,同时选定类型有日期等多个类型可以选择。ValidationSummary
将错误的信息收集起来,这里需要一个关键的设置就是ValidationGroup属性,他的意思是验证的组,我们把ValidationGroup值设置相同就是同一组的,ValidationSummary就会把这一组的所有错误信息都收集上来,同时那个按钮触发了这个事件也要把相关的按钮设置到一组中去。
结语
多实践,慢慢的有点意思,感觉知识的小河是活的,是流动的。