웹 페이지 튜토리얼login
웹 페이지 튜토리얼
작가:php.cn  업데이트 시간:2022-04-11 14:20:28

웹 양식 반복기



Repeater 컨트롤은 컨트롤에 바인딩된 항목의 반복 목록을 표시하는 데 사용됩니다.


Repeater 컨트롤에 DataSet 바인딩

Repeater 컨트롤은 컨트롤에 바인딩된 항목의 반복 목록을 표시하는 데 사용됩니다. 반복기 컨트롤은 데이터베이스 테이블, XML 파일 또는 기타 항목 목록에 바인딩될 수 있습니다. 여기서는 XML 파일을 Repeater 컨트롤에 바인딩하는 방법을 보여줍니다.

이 예에서는 다음 XML 파일("cdcatalog.xml")을 사용합니다:

<?xml version="1.0" 인코딩="ISO-8859-1"?>

< ;catalog> ;
<cd>
제국 풍자
<아티스트>밥 딜런</artist>
<국가>미국</국가>
<회사>콜롬비아</company>
<가격>10.90</price>
<연도>1985</년>
</cd>
<cd>
<title>마음을 숨겨보세요</title>
<아티스트>보니 타일러</artist>
<국가>영국</국가>
<회사>CBS 레코드</company>
<가격>9.90</price>
<연도>1988</년>
</cd>
<cd>
<title>최고의 히트곡</title>
<아티스트>돌리 파튼</artist>
<국가>미국</국가>
<회사>RCA</company>
<가격>9.90</price>
<연도>1982</년>
</cd>
<cd>
<title>아직도 우울함이 남아있습니다</title>
<아티스트>게리 무어</artist>
<국가>영국</국가>
<컴퍼니>버진 레코드</company>
<가격>10.20</price>
<연도>1990</년>
</cd>
<cd>
<title>에로스</title>
<아티스트>에로스 라마조티</artist>
<국가>EU</국가>
<회사>BMG</company>
<가격>9.90</price>
<연도>1997</year>
</cd>
</catalog>

이 XML 파일 보기: cdcatalog.xml

먼저 "System.Data" 네임스페이스를 가져옵니다. DataSet 개체를 사용하려면 이 네임스페이스가 필요합니다. .aspx 페이지 상단에 다음 지시문을 포함합니다.

<%@ Import Namespace="System.Data" %>

다음으로 XML 파일에 대한 DataSet을 만들고 처음 로드할 때 로드합니다. 이 XML 파일을 DataSet에 추가합니다.

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
​ 희미한 mycdcatalog=새 데이터 세트
​ mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub

그런 다음 .aspx 페이지에 Repeater 컨트롤을 만듭니다. <HeaderTemplate> 요소의 콘텐츠는 먼저 렌더링되어 출력에 한 번만 나타나는 반면, <ItemTemplate> 요소의 콘텐츠는 DataSet의 각 "레코드"에 대해 반복됩니다. FooterTemplate> 요소의 내용은 출력에 한 번만 나타납니다.

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat= "서버">

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
< /FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

그런 다음 스크립트를 추가하여 DataSet을 생성하고 mycdcatalog DataSet을 리피터 제어. 그 다음에 HTML 태그를 사용하여 Repeater 컨트롤을 채우고 <%#Container.DataItem("fieldname")%>를 통해 데이터 항목을 <ItemTemplate> 영역의 셀에 바인딩합니다.

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Company</th>
<th>Price</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%> </td>
<td><%#Container.DataItem("artist")%> </td>
<td><%#Container.DataItem("company")%> </td>
<td><%#Container.DataItem("price")%> </td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</html>
</body>

실행 예»

온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요


<AlternatingItemTemplate>

<ItemTemplate> 요소 뒤에 <AlternatingItemTemplate> 요소를 추가하여 출력. 아래 예에서는 테이블의 다른 모든 행이 밝은 회색 배경으로 표시됩니다.

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Company</th>
<th>Price</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%> </td>
<td><%#Container.DataItem("artist")%> </td>
<td><%#Container.DataItem("company")%> </td>
<td><%#Container.DataItem("price")%> </td>
</tr>
</ItemTemplate>

<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%> </td>
<td><%#Container.DataItem("artist")%> </td>
<td><%#Container.DataItem("company")%> </td>
<td><%#Container.DataItem("price")%> </td>
</tr>
</AlternatingItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</html>
</body>

인스턴스 실행 »

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요


<SeparatorTemplate>

<SeparatorTemplate> 요소를 사용하여 각 레코드 사이의 구분 기호를 설명하세요. 아래 예에서는 각 테이블 행 사이에 수평선이 삽입되었습니다.

Instance

<%@ Import Namespace="System.Data" %>

<script  runat="server">
sub Page_Load
if Not Page.IsPostBack then
   dim mycdcatalog=New DataSet
   mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
   cdcatalog.DataSource=mycdcatalog
   cdcatalog.DataBind()
end if
end sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th align="left">Title</th>
<th align="left">Artist</th>
<th align="left">Company</th>
<th align="left">Price</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%> </td>
<td><%#Container.DataItem("artist")%> </td>
<td><%#Container.DataItem("company")%> </td>
<td><%#Container.DataItem("price")%> </td>
</tr>
</ItemTemplate>

<SeparatorTemplate>
<tr>
<td colspan="6"><hr></td>
</tr>
</SeparatorTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</html>
</body>

Run Instance »

온라인 인스턴스를 보려면 "Run Instance" 버튼을 클릭하세요


PHP 중국어 웹사이트