即使脚本运行,控件也没有隐藏

时间:2016-10-03 13:21:38

标签: javascript vb.net

我在aspx页面上有2个面板。页面加载后,将显示step1面板。用户单击按钮后。我检查数据并显示step2面板,其中我将数据显示在后面的代码中的转发器控件中。有一个“后退”按钮。当用户单击此按钮时,我需要隐藏步骤2面板并再次显示step1面板。我的问题是当用户单击后退按钮时。我可以看到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>

1 个答案:

答案 0 :(得分:1)

似乎是一种不寻常的方式。没有看到你的后端代码,我只是猜测,但这可以在服务器端完成。

将panel1更改为visible = true,然后使用按钮上的onclick事件将其切换为false,将panel2切换为true。

然后使用后退按钮上的onclick事件将panel1切换为visible = true,将panel2切换为false。

这意味着不需要任何javascript。