.NET프로그래밍/ASP.NET 3.5 SP1

WebDataControl - Repeater 컨트롤(데이터 출력 컨트롤)

holland14 2009. 10. 19. 17:34

* Repeater 컨트롤은 테이블의 형태로 출력할 수 없다.






'도구상자'의 "Repeater"컨트롤 FrmRepeater.aspx의 <div>태그안에 마우스로 "드래그&드롭" --> "Repeater 컨트롤"의 '스마트버튼' 마우스로 클릭 -> "데이터 소스 구성" 마우스로 클릭하여 '마법사' 창을 통해 (SqlDataSource컨트롤에서와 같은 과정으로, 단 "Num"의 Desc(내림차순)로) 데이터베이스에 연결한다.



[FrmRepeater.aspx] 소스코드



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

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        리피터 컨트롤 사용 출력<br />

        <br />

       

       

        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">

            <HeaderTemplate>

                <%= SITE_NAME %><br />  <!-- C#(코드비하인드 페이지) 속성 값을 웹에서 표현해 주고 싶을 때의 식 -->                      

            </HeaderTemplate>

            <ItemTemplate>

                <%# Eval("Name") %><br />   <!-- 데이터베이스의 데이터와 바인딩 할 때의 식 -->

            </ItemTemplate>

            <AlternatingItemTemplate>

                <%# "<a href='View.aspx?Num='" + Eval("Num") + "'>" + Eval("Name") + "</a>" %><br />

            </AlternatingItemTemplate>

            <SeparatorTemplate>

                <hr />

            </SeparatorTemplate>

            <FooterTemplate>

                꼬릿말

            </FooterTemplate>

        </asp:Repeater>

       

        <!-- web.config에 있는 데이터베이스 연결문자열과 읽어올 때의 식 -->

        <asp:SqlDataSource ID="SqlDataSource1" runat="server"

            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 

            SelectCommand="SELECT * FROM [Memos] ORDER BY [Num] DESC">

        </asp:SqlDataSource>

   

    </div>

    </form>

</body>

</html>

 





-------------------------------------------------------------------------------------





[FrmRepeater.aspx.cs] 소스코드


using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class FrmRepeater : System.Web.UI.Page

{

    public string SITE_NAME { get; set; } // 속성

    public FrmRepeater()

    {

        SITE_NAME = "닷넷코리아";

    }

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

}

 



-------------------------------------------------------------------------------------




[실행결과]