2016-10-03 51 views
0

我在aspx页面上有2个面板。当页面加载时,会显示step1面板。用户点击按钮后。我检查数据并显示step2面板,其中我将数据显示在代码后面的转发器控制中。有一个“返回”按钮。当用户单击此按钮时,我需要隐藏第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上应用了开关面板1,将panel1设置为visible = true,并将panel2设置为false。但是,通过使用这种方式,弹出窗口中有很大的空间。 – user819774

+0

不太明白你的意思。如果控件设置为visible =“false”,那么它不会在浏览器中呈现,所以它不会导致任何大的空白空间。你有没有考虑过使用asp.net向导控制这种逻辑? – tigerdi

相关问题