Siamo in grado di associare un file XML per un controllo di elenco.
Un file XML
Ecco un file XML denominato "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>
Date un'occhiata al file XML: countries.xml
Associare un DataSet a un controllo elenco
In primo luogo, importare il "System.Data" namespace. Abbiamo bisogno di questo spazio dei nomi di lavorare con oggetti DataSet. Includere la seguente direttiva nella parte superiore di una pagina aspx:
<%@ Import Namespace="System.Data" %>
Successivamente, creare un set di dati per il file XML e caricare il file XML nel DataSet quando la pagina viene caricata per la prima:
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath("countries.xml"))
end if
end sub
Per associare il DataSet a un controllo RadioButtonList, prima creare un controllo RadioButtonList (senza asp: ListItem elementi) in una pagina aspx:
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" />
</form>
</body>
</html>
Quindi aggiungere lo script che costruisce il 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>
Poi aggiungiamo una routine sub da eseguire quando l'utente fa clic su un elemento nel controllo RadioButtonList. Quando un pulsante viene cliccato, un testo apparirà in un'etichetta:
Esempio
<%@ 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>
Visualizza l'esempio »