Gli ultimi tutorial di sviluppo web
 

ASP.NET Web Forms - file XML


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 »