2016-10-03 15 views
0

私はaspxページに2つのパネルを持っています。ページがロードされると、ステップ1パネルが表示されます。ユーザーがボタンをクリックした後。私はデータをチェックして、ステップ2のパネルを表示します。ここでは、データをコード内のリピータコントロールに表示します。 「戻る」ボタンがあります。ユーザーがこのボタンをクリックすると、ステップ2パネルを非表示にして、ステップ1パネルを再度表示する必要があります。私の問題は、ユーザーが戻るボタンをクリックしたときです。私はstep1が表示されているのを見ることができますが、step2パネルはまだそこにあります。誰かが私にこの問題を解決する助けになるだろうか?事前に感謝スクリプトが実行されても制御ができませんでした

は私のaspxページがあります:

<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> 

私javascritpがあります:

<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

はそれをやっての異常な方法です。あなたのバックエンドコードを見ることなく、私は推測しているだけですが、これはすべてサーバー側で行うことができます。

panel1をvisible = trueに変更し、ボタンのonclickイベントを使用してfalseに切り替え、panel2をtrueに切り替えます。

次に、戻るボタンでonclickイベントを使用して、panel1をvisible = trueに、panel2をfalseに切り替えます。

これは、javascriptの必要がないことを意味します。

+0

@Jamestbr、私はすでにvb上でswitch = 1をvisible = true、panel2をfalseに設定しました。しかし、この方法ではポップアップウィンドウに大きなスペースがあります。 – user819774

+0

あなたが何を意味するか本当に理解していない。コントロールがvisible = "false"に設定されている場合は、ブラウザ上でレンダリングされないため、大きな空きスペースは発生しません。この種のロジックにasp.net Wizardコントロールを使用することを検討しましたか? – tigerdi

関連する問題