Neueste Web-Entwicklung Tutorials
 

ASP.NET Web Forms - XML-Dateien


Wir können eine XML-Datei in eine Liste Steuerelement binden.


Eine XML-Datei

Hier ist eine XML - Datei mit dem Namen "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>

Werfen Sie einen Blick auf die XML - Datei: countries.xml


Binden eines Datasets zu einer List Control

Zuerst importieren Sie die "System.Data" Namespace. Wir brauchen diesen Namensraum mit DataSet Objekten zu arbeiten. Fügen Sie die folgende Anweisung an der Spitze einer ASPX-Seite:

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

Als nächstes wird ein Datensatz für die XML-Datei erstellen und die XML-Datei in das DataSet geladen werden, wenn die Seite zum ersten Mal geladen wird:

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

Um die Datenmenge zu einer Radiobuttonlist Steuer zu binden, erzeugt zuerst eine Radiobuttonlist Kontrolle (ohne asp: ListItem Elemente) in einer ASPX-Seite:

<html>
<body>

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

</body>
</html>

Dann das Skript hinzufügen, die den XML-Datensatz erstellt:

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

Dann fügen wir eine Unterroutine ausgeführt werden, wenn der Benutzer klickt auf ein Element in der Radiobuttonlist-Steuerelement. Wenn ein Optionsfeld geklickt wird, wird ein Text in einem Etikett erscheinen:

Beispiel

<%@ 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>
Beispiel anzeigen »