Possiamo usare dei file XML come sorgente di dati per i controlli
Creiamo un file chiamato "friend.xml":
<?xml version="1.0" encoding="ISO-8859-1" ?>
<friends>
<friend>
<name>Pippo</name>
<telephone>2899902084</telephone>
</friend>
<friend>
<name>Paperino</name>
<telephone>034777221</telephone>
</friend>
<friend>
<name>Topolino</name>
<telephone>399723452</telephone>
</friend>
<friend>
<name>Paperone</name>
<telephone>003882482</telephone>
</friend>
</friends>
Databind tramite un dataset
Come prima cosa occorre importare il namesace "System.Data". Ne abbiamo bisogno per lavorare con gli oggetti DataSet.
Quindi creaiamo un dataset a partire dal file XML:
<%@ using Namespace="System.Data" %>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
DataSet myFriends = new DataSet();
myFriends.ReadXml("friends.xml") ;
ddl.DataSource = myFriends;
ddl.DataValueField = "value";
ddl.DataTextField = "text";
ddl.DataBind();
}
}
</script>
<html>
<body>
<form runat="server">
<asp:DropdownList id="ddl" runat="server" AutoPostBack="True" />
</form>
</body>
</html>
Infine aggiungiamo la routine che mostra su una label il telefono del nostro amico:
<%@ using Namespace="System.Data" %>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
DataSet myFriends = new DataSet();
myFriends.ReadXml("friends.xml") ;
ddl.DataSource = myFriends;
ddl.DataValueField = "value";
ddl.DataTextField = "text";
ddl.DataBind();
}
}
pivate void showNumber()
{
lbl1.text = "Telefono: " + ddl.SelectedItem.Value;
}
</script>
<html>
<body>
<form runat="server">
<asp:DropdownList id="ddl" runat="server" AutoPostBack="True" onSelectedIndexChanged="showNumber"/>
</form>
</body>
</html>