Derniers tutoriels de développement web
 

ASP.NET Web Forms - XML ​​Fichiers


Nous pouvons lier un fichier XML à un contrôle de liste.


Un fichier XML

Voici un fichier XML nommé "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>

Jetez un coup d' oeil au fichier XML: countries.xml


Lier un DataSet à une liste de contrôle

Tout d' abord, importer le "System.Data" espace de noms. Nous avons besoin de cet espace de noms pour travailler avec des objets DataSet. Inclure la directive suivante en haut d'une page .aspx:

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

Ensuite, créez un DataSet pour le fichier XML et charger le fichier XML dans le DataSet lorsque la page est chargé en premier lieu:

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

Pour lier l'ensemble de données à une commande de RadioButtonList, d'abord créer un contrôle de RadioButtonList (sans aucune asp: éléments ListItem) dans une page .aspx:

<html>
<body>

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

</body>
</html>

Ensuite, ajoutez le script qui construit le 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>

Ensuite, on ajoute une sous-routine à exécuter lorsque l'utilisateur clique sur un élément dans le contrôle RadioButtonList. Lorsqu'un bouton radio est cliqué, un texte apparaît dans une étiquette:

Exemple

<%@ 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>
Afficher un exemple »