Ultimele tutoriale de dezvoltare web
 

ASP.NET Formulare Web - fișiere XML


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 »