آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

 آموزش 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 اصلی می باشد که عبارتند از :

  1. بخش <HeaderTemplate> : این بخش برای تعیین سر عنوان یا هدر کنترل استفاده شده و فقط یکبار در ابتدای آن به صورت یک سطر نمایش داده می شود . محتویات این یخش معولا به صورت ثابت یا Static توسط طراح تعیین می شود .
  2. بخش <ItemTemplate> : این بخش برای نمایش اطلاعات اصلی منبع داده ای استفاده شده و به ازای هر آیتم ( رکورد ) موجود در منبع داده ای یکبار اجرا شده و اطلاعات آن آیتم را در قالب یک سطر نمایش می دهد .
  3. بخش <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 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1