ASP.NET ---- Repeater 遍历出省市

时间:2021-05-20 07:06:03

Repeater  控件可以数据库中的数据,一条条的查找出,不需要后端在进行遍历输出了,

Repeater必须使用的是Itemtemplate,其它的类型模板按需添加,主要记住Itemtemplate就行。

  ItemTemplate : 对每一个数据项进行格式设置
  AlternatingItemTemplate : 对交替数据项进行格式设置
  SeparatorTemplate : 对分隔符进行格式设置
  HeaderTemplate : 对页眉进行格式设置
  FooterTemplate : 对页脚进行格式设置

Repeater控件中的属性作用:

  DataBinding : Repeater控件绑定到数据源时触发
  ItemCommand : Repeater控件中的子控件触发事件时触发
  ItemCreated : 创建Repeater每个项目时触发
  ItemDataBound : Repeater控件的每个项目绑定数据时触发

HiddenField控件:  用于存储需要在向服务器的发送间保持的值

前端页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="obgetest1.aspx.cs" Inherits="obgetest1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>遍历出省市</title>
<link rel="stylesheet" type="text/css" href="style/css.css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="xxlb_ss">
<ul> <asp:Repeater ID="RepeaterwxSheng" runat="server" OnItemDataBound="RepeaterwxSheng_ItemDataBound">
<ItemTemplate> <li>
<div class="middle" style="margin-bottom:20px;">
<div class="city_l"><span class="xxlb_ssbg" href=""><%# DataBinder.Eval(Container.DataItem,"Ext02") %></span></div>
<div class="city_r">
<asp:HiddenField ID="HiddenFieldShengCode" runat="server" Value='<%# DataBinder.Eval(Container.DataItem,"TypeCollCode") %>' />
<asp:Repeater ID="RepeaterwxShi" runat="server">
<ItemTemplate>
<a href=""><%# DataBinder.Eval(Container.DataItem,"Ext02") %></a>
</ItemTemplate>
</asp:Repeater>
</div>
<div class="clear"></div>
</div>
</li> </ItemTemplate>
</asp:Repeater> </ul>
</div>
</div>
</form>
</body>
</html>

对应后端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class obgetest1 :PageBase
{
//引用 逻辑层
private BllFourCollsType _bllCollType = new BllFourCollsType();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//调用省方法
ShengLoad();
}
} private void ShengLoad()
{
     //使用泛型从 对应model 表中寻找
List<FourCollsType> mList = _bllCollType.Get_Ex_FourCollsTypeListByIDLevel("TypeCollCode,Ext02", base.EnterpriseGuid, , , 0f);//rePeater 控件的省 RepeaterwxSheng 获取数据源
this.RepeaterwxSheng.DataSource = mList;
//绑定数据源
this.RepeaterwxSheng.DataBind();
} //
protected void RepeaterwxSheng_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//从省里面找市 所以需要隐藏域
HiddenField HiddenFieldShengCode = (HiddenField)e.Item.FindControl("HiddenFieldShengCode");
Repeater RepeaterwxShi = (Repeater)e.Item.FindControl("RepeaterwxShi");
if (RepeaterwxShi != null && HiddenFieldShengCode != null)
{ List<FourCollsType> mList = _bllCollType.Get_Ex_FourCollsTypeList_CodeDown("Ext02", base.EnterpriseGuid, , HiddenFieldShengCode.Value, , 0f);
//this 指的是当前页面对象,不能用 this
RepeaterwxShi.DataSource = mList;
RepeaterwxShi.DataBind();
}
}
}