ASP.NET - Faili ya XML

Wenye wengi wa faili ya XML inaweza kuwapa kwenye kiwango cha listi.

Faili ya XML moja

Hii ni faili ya XML yenye jina "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>

Angalia faili hii:countries.xml

Bindi ya DataSet kwa kiwango cha List

Kwanza, ingia kwa "System.Data" mifumo ya jina. Tuhitaji mifumo hii na DataSet kwa ajili ya kazi. Weka ina kudumu hii kwenye kipengele cha juu cha mweka .aspx:

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

Kisha, undoa DataSet kwa faili ya XML, na kumwaka data ya faili ya XML kwenye DataSet kwa sababu ya ukurudisha wa kwanza wa mweka:

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

Kama ingia kusaidia kufungua DataSet hukuwa RadioButtonList kwenye mweka-vya .aspx (hakuna asp:ListItem tukio):

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

Kisha tafungua skripta ya kujenga XML DataSet hii:

<%@ 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>

Kisha, tunafungua makundi ya programu, ya kufanya kama uendelevu huo itakuwa inafanyika kama mtu anapiga kiwango cha RadioButtonList kikamilika. Kama mtu anapiga kiwango cha msingi, label inaonekana habari ya matukio:

<%@ 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>

Onyesha hili mafano