2013-10-04 3 views
0

dropDown의 선택된 값에 문제가 있습니다..net dropDownList IE에서 다시 게시 한 후 값이 손실 됨

IE 호환성 모드를 변경할 때를 제외하고 코드는 완벽하게 작동합니다. 드롭 다운은 선택된 값을 유지하지 않고 첫 번째 항목으로 돌아와 더 이상 작동하지 않게합니다.

서버 나 파일 또는 IIS의 구성을 변경할 때 호환 모드를 다시 변경하기 전에는 모든 것이 올바르게 작동합니다.

나는 세션에서 선택된 값을 유지하려고 시도했지만 작동하지 않습니다. 나는 정말로 모든 것을 시험해 보았습니다. 미리 감사드립니다. 그것은 뼈 선의의 버그,

protected void Page_Load(object sender, EventArgs e) 
{ 
    } 
protected void Page_PreRender(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     ddlFiltre.Items.Clear(); 
     ddlFiltre.Items.Add(new ListItem(GetLibelle("item1"), "-1")); 
     ddlFiltre.Items.Add(new ListItem(GetLibelle("item2"), "0")); 
     ddlFiltre.Items.Add(new ListItem(GetLibelle("item3"), "1")); 
     ddlFiltre.Items.Add(new ListItem(GetLibelle("item4"), "2")); 
     GetPermission(); 

    } 
    else 
    { 

     ddlFiltre.SelectedValue = Session["ddl_index"].ToString(); 
    } 



    LoadPageControls(); 


} 



private void GetPermission() 
{ 

} 

private void LoadPageControls() 
{ 
    if (LoggedUser != null) 
    { 


     if (ddlFiltre.SelectedValue == "-1") 
     { 
      // Load info in table 
     } 
     else 
     { 
      // Load other info in table 
     } 



    } 
} 


protected void ddlFiltre_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    Session["ddl_index"] = ddlFiltre.SelectedValue; 
} 

답변

1

네 : 여기에 뒤에 코드의

<asp:DropDownList ID="ddlFiltre" runat="server" AutoPostBack="True" EnableViewState="true" Width="100%" OnSelectedIndexChanged="ddlFiltre_SelectedIndexChanged"> 
       </asp:DropDownList> 

:

여기 ASP 코드입니다. 포스트 백이 실패합니다.

수정 내용은 thisthis 문서를 참조하십시오.

+0

감사합니다. IE 10에서 정상적으로 작동하는 두 가지 기사의 유일한 문제입니다. 호환 모드를 설정할 때만입니다. 그리고 __doPostback 잘 작동 – GregM

+0

나는 페이지 게시물을 이해합니다. 하지만 ddlFiltre_SelectedIndexChanged 이벤트가 발생합니까? 그렇지 않다면, __doPostback은 실제로 작동하지 않습니다. 그냥 그렇게 보입니다. –

+0

응용 프로그램이 서버에있을 때만 오류가 발생하기 때문에 이벤트가 발생하는지 실제로 알지 못합니다. 내 컴퓨터에서 developping을 할 때 오류가 발생하지 않았기 때문에 로컬 호스트에 있습니다. – GregM

관련 문제