2016-10-03 17 views
0

aspx 페이지에 2 개의 패널이 있습니다. 페이지가로드되면 step1 패널이 표시됩니다. 사용자가 버튼을 클릭하면. 데이터를 확인하고 코드가있는 repeater 컨트롤에 데이터를 표시하는 step2 패널을 표시합니다. "뒤로"버튼이 있습니다. 사용자가이 버튼을 클릭하면 2 단계 패널을 숨기고 1 단계 패널을 다시 표시해야합니다. 내 문제는 사용자가 뒤로 버튼을 클릭 할 때입니다. step1이 보이지만 step2 패널이 사라진 것을 볼 수 있습니다. 누군가이 문제를 해결하도록 도와 줄 수 있습니까? 내 javascritp 있습니다컨트롤이 실행되지 않아 스크립트가 실행되지 않습니다.

<asp:panel id="pnlStep1" runat="server" visible="False" > 
<asp:label id="lbl" text="The order is ....."/> 
    <asp:Button id="btnNext" runat="server" text="Next" cssclass="btn"/> 
</asp:panel> 

<asp:panel id="pnlStep2" runat="server" visible="False" >    
    <fieldset class="fldBoxy"><legend class="fldLegend">Conflicts</legend> 
    <table class="tbl w100p" border="0"> 
     <tr> 
     <td class="field100"> 
      <asp:repeater id="repConflicts" runat="server" > 
      <itemtemplate> 
       <%# DataBinder.Eval(Container.DataItem, "Details") %> 
       <br/> 
      </itemtemplate> 
      </asp:repeater> 
      <asp:label id="lblNoConflicts" runat="server" visible="False" text="No conflicts were found."></asp:label> 
     </td> 
     </tr> 
    </table> 
    </fieldset> 

    <div class="savechanges"> 
    <table class="w100p" > 
     <tr> 
     <td class="talgnL" ><asp:Button ID="btnBack" Text="Back" runat="server" CssClass="btn" OnClientClick="hideStep2()"/> 
     </td> 
     <td> 
      <asp:Button id="btnSave" runat="server" text=" Change" cssclass="btn" /> 
     <input class=" btn" onclick="self.close();" type="button" value="Cancel" /> 
     </td> 
     <td></td> 
     </tr> 
    </table> 
    </div> 
</asp:panel> 

:

<script language="javascript" type="text/javascript"> 
    function hideStep2(){ 
    var pln = document.getElementById("pnlStep2"); 
    if (pln != 'undefined') { 
     alert('24');     
     pln.style.visibility = "hidden"; 
     pln.style.display = "none"; 
     document.getElementById("pnlStep1").style.display = "block"; 
    } 
    } 
</script> 
+0

'pln.style.visibility = "hidden";' –

+0

어떤 태그에 포함되어 있지 않은 불량'disableafterclick = "True">가 있습니다. – djv

+1

@ Verdolino. 잘라 붙여 넣기 실수가 있습니다. 나는 그것을 편집했다. 감사. – user819774

답변

1

이 그 일의 특이한 방법을 보인다 미리 감사

내 aspx 페이지가있다. 당신의 백엔드 코드를 보지 않고서는, 나는 추측하고있을뿐입니다.하지만 이것은 모두 서버 측에서 할 수 있습니다.

panel1을 visible = true로 변경 한 다음 버튼에서 onclick 이벤트를 사용하여 false로 전환하고 panel2를 true로 전환합니다.

그런 다음 뒤로 버튼에서 onclick 이벤트를 사용하여 panel1을 visible = true로 전환하고 panel2를 false로 전환합니다.

이것은 자바 스크립트가 필요 없음을 의미합니다.

+0

@Jamestbr, 이미 vb에서 switch = 1을 visible = true, panel2를 false로 설정하는 방법을 적용했습니다. 그러나이 방법으로 팝업 창에 큰 공간이 있습니다. – user819774

+0

무슨 뜻인지 정말로 모르겠다. 컨트롤이 visible = "false"로 설정된 경우 브라우저에서 렌더링되지 않으므로 큰 빈 공간이 발생하지 않습니다. 당신은 논리 의이 종류에 대한 asp.net 마법사 컨트롤을 사용하여 고려해 봤어? – tigerdi

관련 문제