ASP.NET - ملف XML

يمكننا ربط ملف XML بقائمة التحكم.

ملف XML

هنا ملف XML يحمل الاسم "countries.xml":

<?xml version="1.0" encoding="ISO-8859-1"?>
<countries>
<country>
  <text>China</text>
  <value>C</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>

رجاءً انظر إلى هذا الملف:countries.xml

ربط Dataset بالقائمة

أولاً، قم بتحميل مساحة الاسم "System.Data". نحتاج إلى هذه المساحة لعمل Dataset.

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

ثم، قم بإنشاء Dataset لهذا ملف XML، وتم تحميل ملف 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

إذا كنت ترغب في ربط Dataset هذا مع Radio Button List، يجب أولاً إنشاء Radio Button List في صفحة .aspx (بدون أي عناصر asp:ListItem):

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

ثم أضف سكريبت بناء XML DataSet هذا:

<%@ Import Namespace="System.Data" %>
<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 runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
</form>
</body>
</html>

ثم، نضيف подпрограмة ستتم تنفيذها عند ضغط المستخدم على عنصر RadioButtonList. عند ضغط المستخدم على راديو بوتن، سيظهر نص في label:

<%@ Import Namespace="System.Data" %>
<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 runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>
</body>
</html>

اعرض هذا المثال