2016-12-22 1 views
0

Ich entwerfe ein Jobportal. Ich habe Masterseite und in Masterseite, habe ich eine Wählen Sie die Länder Dropdown-Liste.Wie man einen ausgewählten Dropdown-Wert in der Masterseite auf allen Inhaltsseiten in asp.net beibehalten kann

Ich zeige Jobs basierend auf Benutzer ausgewählten Land in allen Inhalt Seiten.

Ich möchte nur, dass ein Benutzer nur einmal ein Land auswählt und es durch alle Inhaltsseiten ausgewählt bleibt. Ich möchte nicht, dass er auf jeder Inhaltsseite immer wieder auswählt.

Ich möchte nur persist das ausgewählte Dropdown-Wert durch die Navigation in der Website, es sei denn Benutzer ändert es wieder.

Antwort

0

Sie eine Session verwenden können, hinter dem Wert des Dropdownlist

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
    <asp:ListItem Text="Netherlands" Value="nl-NL"></asp:ListItem> 
    <asp:ListItem Text="England" Value="en-GB"></asp:ListItem> 
    <asp:ListItem Text="Germany" Value="de-DE"></asp:ListItem> 
</asp:DropDownList> 

-Code zu speichern, stellen Sie den korrekten Wert des Drop-Down auf jeder Seite zu laden. Und Sie können jetzt den Wert Session["language"] verwenden, um Ihre Daten zu filtern.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     //check if the session exists and select the correct value in the dropdownlist 
     if (Session["language"] != null) 
     { 
      DropDownList1.SelectedValue = Session["language"].ToString(); 
     } 
     else 
     { 
      //set the session with the default language 
      Session["language"] = "en-GB"; 
     } 
    } 
} 

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    //set the session based on the dropdownlist value 
    Session["language"] = DropDownList1.SelectedValue; 
} 
0

Es hängt von Ihrer Implementierung der Masterseite und der Inhaltsseiten ab, aber eine war, Cookies oder Benutzerprofile zu verwenden, um Benutzerpräferenzen für die Länderauswahl zu speichern. Ihre Masterseite kann dann diese Daten (aus Cookies oder Profil) lesen, um die Auswahl anzuzeigen.

Am Ende denke ich, dass Sie die Benutzerauswahl irgendwo beibehalten möchten, die für alle Seiten während der Navigation zugänglich ist. Masterseiten und Inhaltsseiten sind nur ein Mechanismus zum Lesen dieser Informationen.

Verwandte Themen