2016-12-22 8 views
0

私はジョブポータルを設計しています。私にはマスターページがあり、マスターページには国選択ドロップダウンリストを使用しました。マスターページで使用されるドロップダウン選択値をasp.netのすべてのコンテンツページに永続化する方法

すべてコンテンツページに基づいてジョブを表示しています。

私はただ1つの国を選択し、すべてのコンテンツページから選択したままにしておきたいと思います。私は彼がすべてのコンテンツページで何度も何度も何度も選ぶことを望まない。

私はちょうどのドロップダウン選択値を持続させるために、ユーザーがそれを再び変更しない限り、ウェブサイト内をナビゲートすることを望んでいます。

答えて

0

あなたは背後の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> 

コードの値を格納するためにセッションを使用することができ、すべてのページのロードのドロップダウンの正しい値を設定します。また、データをフィルタリングするためにSession["language"]の値を使用できるようになりました。

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

マスターページとコンテンツページの実装によって異なりますが、クッキーまたはユーザープロファイルを使用して国選択のためのユーザー設定を保存することが1つありました。マスターページは、このデータを(クッキーまたはプロファイルから)読み取って選択を表示することができます。

最後に、ナビゲーション中にすべてのページにアクセスできるユーザーの選択肢をどこかに残しておきたいと思います。マスターページとコンテンツページは、この情報を読み取るための単なるメカニズムです。

関連する問題