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>
<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 />
<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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie bereits über die IDs, die Sie DOM-Elemente können Sie erreichen dies, indem mithilfe von JQuery.