2016-12-22 1 views
0

저는 Job Portal을 디자인하고 있습니다. 나는 마스터 페이지을 가지고 있고 마스터 페이지에서 국가 선택 드롭 다운리스트을 사용했습니다.마스터 페이지에서 사용 된 드롭 다운 값을 asp.net의 모든 콘텐츠 페이지에 유지하는 방법

사용자를 기반으로 한 작업을 표시하고 있습니다. 콘텐츠 페이지.

저는 사용자가 국가를 한 번만 선택하고 모든 콘텐츠 페이지를 통해 선택한 상태로 유지되기를 바랍니다. 저는 그가 모든 콘텐츠 페이지에서 몇 번이고 다시 선택하기를 원하지 않습니다.

그냥 사용자가 다시 변경하지 않는 한 드롭 다운 값을 웹 사이트 탐색을 통해 유지합니다. .

답변

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

마스터 페이지 및 콘텐츠 페이지의 구현에 따라 다르지만 국가 선택을위한 사용자 기본 설정을 저장하기 위해 쿠키 또는 사용자 프로필을 사용하는 것이 었습니다. 그런 다음 마스터 페이지에서 쿠키 또는 프로필에서이 데이터를 읽고 선택 사항을 표시 할 수 있습니다.

마지막으로 네비게이션 중에 모든 페이지에 액세스 할 수있는 사용자 선택을 유지하고 싶습니다. 마스터 페이지와 콘텐츠 페이지는이 정보를 읽는 메커니즘 일뿐입니다.