ASP.NET - O controle do repetidor |
Para indicar uma lista repetida dos artigos que são limitados ao controle, o controle do repetidor é usado.
|
Ligar uma série de dados a um controle do repetidor
|
Para indicar uma lista repetida dos artigos que são limitados ao controle, o controle do repetidor é usado. O controle do repetidor pode ser limitado a uma lima de XML, a uma tabela da base de dados, ou a uma outra lista dos artigos. Aqui nós mostrar-lhe-emos como ligar uma lima de XML a um controle do repetidor.
Nós usaremos a seguinte lima de XML em nossos exemplos (“cdcatalog.xml”):
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>
|
|
No início, importar o namespace de “System.Data” e nós necessitamos este namespace trabalhar com objetos da série de dados. Então, no alto de uma página de .aspx incluir a seguinte diretriz orientadora:
|
<%@ Import Namespace="System.Data" %>
|
|
Em seguida, criar uma série de dados para a lima de XML e quando a página é carregada primeiramente, carregar a lima de XML na série de dados:
|
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub
|
|
Então nós criamos um controle do repetidor em uma página de .aspx e os índices do elemento do <HeaderTemplate> são rendidos primeiramente e somente uma vez dentro da saída, a seguir os índices do elemento do <ItemTemplate> são repetidos para cada “registro” na série de dados, e último, os índices do elemento do <FooterTemplate> são rendidos uma vez dentro da saída:
|
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Então nós adicionamos o certificado que cría a série de dados e liga então a série de dados do mycdcatalog ao controle do repetidor. Com Tag do HTML, nós também enchemos o controle do repetidor e ligamos os artigos de dados às pilhas na seção do the<ItemTemplate> com o método de <%#Container.DataItem (“fieldname”) %>:
|
<%@ 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>
<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>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Usando o <AlternatingItemTemplate>
|
Após o elemento do <ItemTemplate>, você pode adicionar um elemento do <AlternatingItemTemplate> para descrever a aparência de fileiras alternas da saída. No exemplo abaixo de se a fileira na tabela será indicada em uma luz - cor cinzenta:
|
<%@ 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>
<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>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
Usando o <SeparatorTemplate>
|
Para descrever um separador entre cada registro, o <SeparatorTemplate>element pode ser usado. O exemplo abaixo introduz uma linha horizontal entre cada fileira da tabela:
|
<%@ 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>
<html>
<body>
<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">
<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
|
|
Keywords:
ASP.NET using the Repeater Control,
asp net repeater,
vb net repeater,
asp net control,
asp net using,
vb net control,
visual basic using,
visual basic control,
datagrid repeater,
repeater database,
repeater c#,
repeater dropdownlist,
repeater edit,
wireless repeater,
c# using,
repeater hyperlink,
repeater paging,
javascript repeater,
repeater viewstate,
datagrid control,
custom repeater,
repeater checkbox,
repeater databind,
repeater datalist,
data repeater,
dataset repeater,
dynamic repeater,
datalist control,
repeater textbox,
control data,
repeater button,
listbox control,
c# control,
checkbox control,
using msdn,
event control,
repeater vb,
textbox control
|