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

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, 4001, 2, 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, 4001, HiddenFieldShengCode.Value, 3, 0f); //this 指的是当前页面对象,不能用 this RepeaterwxShi.DataSource = mList; RepeaterwxShi.DataBind(); } } }

 

posted on 2019-12-09 18:08  obge  阅读(350)  评论(0编辑  收藏  举报