Σε ενα απο τα βιβλια με θεμα ASP.Net και C# που διαβαζω στα πρωτα κεφαλαια ειχε ενα ωραιο παραδειγμα με Dropdownlists. Αυτο που μας δειχνει ειναι πως μεσω της επιλογης που κανει ο επισκεπτης σε ενα dropdownlist μπορουμε να τρεξουμε αναλογα καποιο κομματι κωδικα. Στην προκειμενη περιπτωση εμφανιζει ενα αλλο dropdownlist με επιπλεον επιλογες. Αν ειναι στο πλανο σας να συμπεριλαβετε παρομοιες επιλογες σε καποιο απο τα μελλοντικα σας project ριξτε το μια ματια. To πιο σημαντικο στον παρακατω κομματι ειναι το OnSelectedIndexChanged.
Το aspx αρχειο
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="dropdown.aspx.cs" Inherits="_dropdown" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> Select transportation type:<br /> <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"> <asp:ListItem>Select an Item</asp:ListItem> <asp:ListItem>Car</asp:ListItem> <asp:ListItem>Airplane</asp:ListItem> <asp:ListItem>Train</asp:ListItem> </asp:DropDownList> <asp:DropDownList ID="DropDownList2" runat="server" Visible="false"></asp:DropDownList> <asp:Button ID="Button1" runat="server" Text="Select Options" OnClick="Button1_Click" /> </div> </form> </body> </html>
Και το cs αρχειο
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _dropdown : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { string[] carArray = new[] {"Ford", "Honda", "BMW", "Dodge"}; string[] airplaneArray = new[]{"Boeing 777", "Boeing 747","Boeing 737"}; string[] trainArray = new[] {"Bullet Train", "Amtrack", "Tram"}; if (DropDownList1.SelectedValue=="Car") {DropDownList2.DataSource = carArray;} if(DropDownList1.SelectedValue=="Airplane") {DropDownList2.DataSource = airplaneArray;} if(DropDownList1.SelectedValue=="Train") {DropDownList2.DataSource = trainArray;} DropDownList2.DataBind(); DropDownList2.Visible = DropDownList1.SelectedValue != "Select an Item"; } protected void Button1_Click(object sender, EventArgs e) { Response.Write("You selected <b>" + DropDownList1.SelectedValue.ToString()+": "+ DropDownList2.SelectedValue.ToString() + "</b>"); } }