آموزش ASP.Net به زبان ساده > آموزش مدل فرم های وب ASP.Net Web
Forms
درس چهاردهم : آموزش نمایش اطلاعات لیست وار توسط کنترل Repeater در ASP.Net
مقدمه و معرفی کنترل Repeater :
کنترل Repeater در ASP.Net ، یکی از کنترل های سروری است که از آن می توان برای نمایش
اطلاعات لیست وار که توسط یک منبع داده ای فراهم می شوند ، استفاده نمود .
می توانید کنترل Repeater را به انواع مختلف منابع داده ای مثل جداول بانک اطلاعاتی
، اشیای DataSet ، فایل های XML و سایر منابع لیست وار متصل نمود .
در این درس
نحوه اتصال کنترل Repeater به یک فایل XML را که شامل اطلاعات چندین کشور
است ، را آموزش خواهیم داد . اطلاعات فایل XML مورد استفاده به صورت زیر است :
|
کد
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<countries>
<country>
<title>Englang</title>
<capital>London</capital>
<Continent>Europe</Continent>
</country>
<country>
<title>USA</title>
<capital>Washington</capital>
<Continent>North America</Continent>
</country>
<country>
<title>France</title>
<capital>Paris</capital>
<continent>Europe</continent>
</country>
<country>
<title>Iran</title>
<capital>Tehran</capital>
<Continent>Asia</Continent>
</country>
</countries>
|
|
خروجی
|
مشاهده خروجی فایل XML
|
نحوه اتصال کنترل Repeater به فایل XML :
در مرحله اول ، namespace با مقدار " System.Data " را به ابتدای صفحه ASP.Net اضافه
می کنیم . زیرا برای کار با اشیای DataSet ( شی DataSet یک شی داده ای در ASP.Net است
که برای خواندن و جابه جایی اطلاعات به کار می رود ) ، به این namespace نیاز داریم
. نحوه وارد کردن آن در ابتدای صفحه aspx به صورت زیر است :
|
کد
|
<%@ Import Namespace="System.Data" %>
|
در مرحله بعدی ، یک شی DataSet را تعریف می کنیم تا اطلاعات درون فایل XML را توسط
دستور ReadXml و آدرس فایل که به صورت پارامتر به آن ارسال شده را خوانده و برای انتقال
به کنترل Repeater آماده باشد .
|
کد
|
<script runat="server">
sub Page_Load
if Not
Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath("countries_2.xml"))
end if
end sub
</script>
|
در مرحله بعدی ، یک کنترل Repeater را در صفحه ASP.Net خود تعریف می کنیم . این کنترل
شامل 3 بخش یا Template اصلی می باشد که عبارتند از :
- بخش <HeaderTemplate> : این بخش برای تعیین سر عنوان یا هدر کنترل استفاده شده
و فقط یکبار در ابتدای آن به صورت یک سطر نمایش داده می شود . محتویات این یخش معولا
به صورت ثابت یا Static توسط طراح تعیین می شود .
- بخش <ItemTemplate> : این بخش برای نمایش اطلاعات اصلی منبع داده ای استفاده
شده و به ازای هر آیتم ( رکورد ) موجود در منبع داده ای یکبار اجرا شده و اطلاعات آن
آیتم را در قالب یک سطر نمایش می دهد .
- بخش <FooterTemplate> : این بخش برای تعیین پا سطر یا فوتر کنترل استفاده شده
و فقط یکبار در انتهای کنترل به صورت یک سطر نمایش داده می شود . محتویات این یخش معولا
به صورت ثابت یا Static توسط طراح تعیین می شود .
شکل کلی تعریف یک کنترل Repeater به صورت زیر است :
|
کد
|
<asp:Repeater id="Countries" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
</asp:Repeater>
|
کد نهایی صفحه برای خواندن و نمایش اطلاعات فایل XML :
در نهایت کد کامل صفحه برای خواندن و نمایش اطلاعات فایل XML مورد نظرمان توسط کنترل
Repeater به صورت زیر خواهد بود . به کد دقت نمایید . در پایان مواردی که نیاز به توضیح
داشته را تشریح کرده ایم :
|
کد
|
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycountries =New DataSet
mycountries.ReadXml(MapPath("Countries_2.xml"))
Countries.DataSource
= mycountries
Countries.DataBind()
end if
end sub
</script>
<html>
<body>
<form id="Form1" runat="server">
<asp:Repeater id="Countries" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Capital</th>
<th>Continent</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("Capital")%></td>
<td><%#Container.DataItem("Continent")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
خروجی
|
مشاهده خروجی مثال
|
توضیح کد مثال :
- در بخش ابتدایی کد namespace مورد نیاز را تعریف نموده و سپس توسط کد اسکریپت یک شی
DataSet ساخته ، مقایدیر فایل XML را خوانده و دورن آن ریخته ایم . سپس کنترل Repeater
با id برای با "Countries" را به شی DataSet متصل کرده و توسط متد ( )DataBind
اطلاعات DataSet را به کنترل منتقل کرده ایم .
- سپس یک کنترل Repeater را در بخش اصلی صفحه با 3 ستون برای نمایش اطلاعات آیتم ها ایجاد کرده
ایم . از دستور <%("Container.DataItem("title#%>
برای خواندن محتویات هر آیتم شی DataSet استفاده کرده و در خانه مربوط به آن
در کنترل Repeater نمایش داده ایم .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :