WebDataControl - Repeater 컨트롤(데이터 출력 컨트롤)
* 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)
{
}
}
-------------------------------------------------------------------------------------
[실행결과]