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


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

 آموزش ASP.Net به زبان ساده   >   آموزش مدل فرم های وب ASP.Net Web Forms
درس سیزدهم : اتصال یک فایل XML به کنترل سرور ASP.Net

مقدمه :

همانطور که در بخش آموزش XML در سایت Developer1.ir آموختید ، XML یک روش نشانه گذاری برای دسته بندی و انتقال داده ها بین سیستم های مختلف است .
یک فایل XML ، برای مثال می تواند شامل اطلاعات راجع به کشورهای مختلف باشد . با استفاده از یک شی DataSet ( شی DataSet ، یک شی برای خواندن و انتقال اطلاعات در ASP.Net است ) ، فایل XML خود را به کنترل های آیتم وار ASP.Net مثل لیست ها ، کادرهای کشویی و ... متصل کرده و اطلاعات آن را نمایش دهید .
به فایل XML زیر دقت نمایید . این فایل شامل اطلاعات تعدادی کشور به صورت ساختاری است که هر کشور به صورت یک آیتم <country> بوده و دارای دو جزء متن یا <text> و مقدار <value> می باشند .

کد <?xml version="1.0" encoding="ISO-8859-1"?>

<countries>
    <country>
       <text>Norway</text>
       <value>N</value>
    </country>

    <country>
        <text>Sweden</text>
        <value>S</value>
     </country>

     <country>
        <text>France</text>
        <value>F</value>
     </country>

     <country>
        <text>Italy</text>
        <value>I</value>
     </country>

</countries>
خروجی مشاهده خروجی فایل XML

شما می توانید این جفت های متن / مقدار را برای کنترل های سرور ASP.Net مثل کنترل های زیر منتقل کرده و نمایش دهید :

  • <asp:RadioButtonList>
  • <asp:CheckBoxList>
  • <asp:DropDownList>
  • <asp:Listbox>

نحوه اتصال فایل XML به یک کنترل سرور ASP.Net :

در مرحله اول ، بایستی namespace با مقدار " System.Date " را در ابتدای صفحه وارد ( Import ) نمایید . زیرا برای کار با شی داده ای DataSet که وظیفه اش خواندن اطلاعات فایل XML و انتقال آنها به کنترل سرور ASP.Net است ، به این namespace نیاز داریم . برای این منظور کد اعلان زیر را در ابتدای صفحه خود وارد نمایید :

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

در مرحله بعدی ، در رویداد لود اولیه صفحه ( Page_Load ) ، یک شی DataSet را برای خواندن فایل XML و ذخیره اطلاعات آن درون شی DataSet به صورت زیر تعریف می کنیم :

کد <script runat="server">
     sub Page_Load
      
  if Not Page.IsPostBack then
        
   dim mycountries=New DataSet
            mycountries.ReadXml(MapPath("countries.xml"))

        end if

    end sub

</script>

نکته : توسط دستور ( )ReadXml ، فایل XML را با ارسال آدرس آن به عنوان پارامتر خوانده و در شی DataSet مورد نظر می ریزیم .سپس برای اتصال کنترل ASP.Net مورد نطرمان به شی DataSet ، یک کنترل لیست وار ( برای مثال asp:RadioButtonList ) را بدون هیچ گونه عنصر فرزند ( asp:ListItem ) همانند کد زیر ، تعریف می کنیم :

کد <form id="Form1" runat="server">
      <asp:RadioButtonList id="rb" runat="server" />
</form>

سپس برای اتصال کنترل به شی داده ای DataSet ، دستورات لازم را پس از دستور خواندن فایل XML ، همانند کد زیر ، درون رویداد لود اولیه صفحه ( Page_Load ) قرار می دهیم . در نهایت کد صفحه به صورت زیر خواهد شد :

کد <script runat="server">
   Sub Page_Load
     
 if Not Page.IsPostBack then
         
dim mycountries=New DataSet
          mycountries.ReadXml(MapPath("countries.xml"))
          rb.DataSource=mycountries
          rb.DataValueField="value"
          rb.DataTextField="text"
          rb.DataBind( )
         end if

   end sub

</script>

<html>
<body>
    <form id="Form1" runat="server">
      
  <asp:RadioButtonList id="rb" runat="server" />
   </form>

</body>
</html>
خروجی مشاهده خروجی مثال

نمایش متن آیتم انتخاب شده در کنترل لیست وار ASP.Net :

در مرحله آخر از این درس ، در رویداد onSelectedIndexChanged کنترل asp:RadioButtonList ، که هر بار که یک آیتم کنترل را انتخاب می کنید ، رخ می دهد ، تابعی به نام displaymassage را تعریف نموده ایم ، تا عنوان ( خاصیت Text ) آیتم انتخاب شده را به همراه یک متن ثابت از پیش تعیین شده نمایش دهد ، به صورت زیر :

کد <script runat="server">
   Sub Page_Load
     
 if Not Page.IsPostBack then
         
dim mycountries=New DataSet
          mycountries.ReadXml(MapPath("countries.xml"))
          rb.DataSource=mycountries
          rb.DataValueField="value"
          rb.DataTextField="text"
          rb.DataBind( )

       end if

   end sub

   sub displayMessage(s as Object,e As EventArgs)
   
  lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
   end sub

</script>

<html>
<body>
    <form id="Form1" runat="server">
        
<asp:RadioButtonList   id="rb" runat="server " AutoPostBack="True"  onSelectedIndexChanged="displayMessage" />
        <p><asp:label id="lbl1" runat="server" /></p>

   </form>

</body>
</html>
خروجی مشاهده خروجی مثال


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

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

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