Putem lega un fișier XML pentru un control listă.
Un fișier XML
Aici este un fișier XML numit "countries.xml" :
<?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>
Uitați-vă la fișierul XML: countries.xml
Legați un set de date la o lista de control
În primul rând, importați "System.Data" spațiul de nume. Avem nevoie de acest spațiu de nume pentru a lucra cu obiecte set de date. Includeți următoarea directivă în partea de sus a unei pagini aspx:
<%@ Import Namespace="System.Data" %>
Apoi, creați un set de date pentru fișierul XML și încărcați fișierul XML în DataSet atunci când pagina este prima încărcare:
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath("countries.xml"))
end if
end sub
Pentru a lega DataSet la un control RadioButtonList, creați mai întâi un control RadioButtonList (fără nici un asp: elemente ListItem) într-o pagină aspx:
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" />
</form>
</body>
</html>
Apoi se adaugă script-ul care construiește DataSet XML:
<%@ 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>
Apoi vom adăuga o rutină de sub care urmează să fie executate atunci când utilizatorul face clic pe un element în controlul RadioButtonList. Atunci când un buton radio este apasat, un text va apărea într-o etichetă:
Exemplu
<%@ 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>
Arată exemplu »