2015-01-12 2 views
1

마스터 페이지가 asp.Net이고 일부 콘텐츠 페이지가 마스터 페이지의 하위 페이지입니다. 홈 페이지에서 지금 마스터 제어 이벤트 발생 후 콘텐츠 페이지로드

public void seletedLanguageChanged(object sender, EventArgs e) 
{ 
    Session.Add(Settings.LanguageParameters.LanguageParams, languageSelect.SelectedValue); 
} 

, 나는 가치 드롭 다운을 확인하고

그것을 기반으로 내가 렌더링 오전 :
<asp:DropDownList ID="languageSelect" runat="server" AutoPostBack="True" OnSelectedIndexChanged="seletedLanguageChanged"> 
    <asp:ListItem Value="English">English</asp:ListItem> 
    <asp:ListItem Value="French">French</asp:ListItem> 
</asp:DropDownList> 

그리고 뒤에 마스터 페이지 코드

: 마스터 페이지에서 은 내가 Drop Down 제어 할 수 있습니다 페이지 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     Session.Add(Settings.LanguageParameters.LanguageParams, "English"); 
    } 
    string language = Session["LanguageParams"].ToString(); 
    if (language == "English") 
    { 
     englishTable.Style.Add("display", "normal"); 
     frenchTable.Style.Add("display", "none"); 
    } 
    else 
    { 
     frenchTable.Style.Add("display", "normal"); 
     englishTable.Style.Add("display", "none"); 
    } 
}  

문제는 그 내가 선택 드롭 다운 변경 (예 : "영어"에서을에 "프랑스어"), 홈 Page_Load 방법 seletedLanguageChanged이 실행되기 전에 홈 페이지가 if (language == "English") 부분을 실행하게하고 seletedLanguageChanged이 실행되기 전에 실행 중입니다.

어떻게 seletedLanguageChanged가 해고되기 전에 홈 Page_Load 메서드가 실행되지 않도록 할 수 있습니까?

고마워요 :)

답변

2

수 없습니다. 당신이 할 수있는 일은 OnPreRender Page_Load와 제어 이벤트 이후에 발생하는 이벤트 (예 : OnSelectedIndexChanged)로 로직을 옮기는 것입니다. 따라서 Page_Load을 정리하고 대신 다음을 사용하십시오.

protected override void OnPreRender(EventArgs e) 
{ 
    base.OnPreRender(e); 
    if (!IsPostBack) 
    { 
     Session.Add(Settings.LanguageParameters.LanguageParams, "English"); 
    } 
    string language = Session["LanguageParams"].ToString(); 
    if (language == "English") 
    { 
     englishTable.Style.Add("display", "normal"); 
     frenchTable.Style.Add("display", "none"); 
    } 
    else 
    { 
     frenchTable.Style.Add("display", "normal"); 
     englishTable.Style.Add("display", "none"); 
    } 
} 
+0

감사합니다. 그것은 도왔다! – Hanady

관련 문제