Wie zum ein - /Ausblenden eines Panels nach dem Klick auf eine Schaltfläche in ASP.Net

Ich bin Probleme auftauchen oder verstecken eines Panels auf eine Schaltfläche klicken. Standardmäßig wird das panel ausgeblendet, aber ich möchte das panel zu zeigen, sobald der button geklickt wird, und es ist nicht für mich arbeiten jetzt.

Das einzige mal, das panel zeigt, ist, wenn ein anderer post-back Auftritt, wie wenn ich die Option drop-down-und löst eine post-damals mein panel wird sich zeigen. Ich denke, das Problem ist, dass ich einen UpdatePanel - und das ist nur eine partielle post zurück.

Hier ist der code, wo ich bin mit AsyncPostBackTrigger für mein Steuerelement (Schaltfläche).

<div id="dvGrid" style="padding: 10px; width: 876px">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
               <asp:GridView ID="GridView1" runat="server" Width="870px" OnRowDataBound="RowDataBound"
                    AutoGenerateColumns="False" Font-Names="Arial" Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B"
                    HeaderStyle-BackColor="green" ShowFooter="True" OnPageIndexChanging="OnPaging"
                    DataKeyNames="DEV_SK">
                    <AlternatingRowStyle BackColor="#C2D69B" />
                    <Columns> 
                       <asp:TemplateField ItemStyle-Width="30px" HeaderText="ID" Visible = "false">
                            <ItemTemplate>
                                <asp:Label ID="lblDEV_SK" runat="server" Text='<%# Eval("DEV_SK")%>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="10px" />
                        </asp:TemplateField>
                </asp:GridView>
             </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnUpdate"  />
            </Triggers>
        </asp:UpdatePanel>  
    </div>

und hier ist der code für den button:

<asp:Button ID="btnUpdate" runat="server" Text="SAVE" OnClick = "Update" Visible = "true" 
Font-Bold="False" Font-Size="Large" Height="30px" Width="157px"/>

und hier ist der code hinter, sobald Sie auf die Schaltfläche klicken:

 protected void Update(object sender, EventArgs e)
    {
        Panel1.Visible = true;
        //do somthing else

    }

und hier ist mein Panel:

   <div>
       <asp:Panel ID="Panel1" runat="server" BorderStyle="Groove" Height="109px" Visible="false"
            Width="870px" BackColor="#FFFFE1">
            <asp:Label ID="Label2" runat="server" Text="SIGN" Font-Bold="True" 
                ForeColor="#FF3300"></asp:Label>
            <br />
            <br />

            <asp:Label ID="lblUID" runat="server" Text="User ID:"></asp:Label>
            <asp:TextBox ID="txtUID" runat="server" Height="22px" Width="145px"></asp:TextBox> &nbsp;&nbsp;
            &nbsp;&nbsp;

            <asp:Label ID="lblPass" runat="server" Text="Password:"></asp:Label>
            <asp:TextBox ID="txtPass" runat="server" Height="23px" TextMode="Password" style="margin-top: 0px"></asp:TextBox>
            <br />
            <br />
            &nbsp;<asp:Button ID="btnSubmit" runat="server" Text="Submit" Width="183px"
                onclick="btnSubmit_Click" 
                OnClientClick="return confirm('Are you sure you want to submit?');" 
                Font-Bold="False" Font-Size="Medium" Height="30px" 
                style="margin-right: 1px" />
            <br />
        </asp:Panel>

    </div>
  • Wo ist eigentliche Panel1 Kontrolle?
  • Yuriy, ich habe gerade den Panel-code in meinem ersten post. Schauen Sie bitte auf die oben
  • So Ihr Panel1 erfolgt außerhalb des UpdatePanel?
  • ja, es ist außerhalb des update-Panels
  • Klicken Sie auf die Schaltfläche, die bestimmt ist, als AsyncPostBackTrigger für ein UpdatePanel nicht beeinflussen. Sie müssen entweder das panel innerhalb der ersten UpdatePanel oder innerhalb eines UpdatePanel seiner eigenen
InformationsquelleAutor moe | 2014-01-13
Schreibe einen Kommentar