Podemos enlazar un archivo XML para un control de lista.
Un archivo XML
Aquí es un archivo XML denominado "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>
Echar un vistazo al archivo XML: countries.xml
Enlazar un conjunto de datos a un control de lista
En primer lugar, importe el "System.Data" espacio de nombres. Necesitamos este espacio de nombres para trabajar con objetos DataSet. Incluir la siguiente directiva en la parte superior de una página .aspx:
<%@ Import Namespace="System.Data" %>
A continuación, cree un conjunto de datos para el archivo XML y cargar el archivo XML en el conjunto de datos cuando se carga por primera vez la página:
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath("countries.xml"))
end if
end sub
Para enlazar el conjunto de datos a un control RadioButtonList, primero crear un control RadioButtonList (sin ningún asp: elementos ListItem) en una página .aspx:
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" />
</form>
</body>
</html>
A continuación, añadir el script que construye el conjunto de datos 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>
A continuación, añadimos una sub-rutina que se ejecuta cuando el usuario hace clic en un elemento en el control RadioButtonList. Cuando se hace clic en un botón de opción, aparecerá un texto en una etiqueta:
Ejemplo
<%@ 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>
Ver ejemplo »