Ich versuche, ein Benutzersteuerelement zu erstellen, um die Membership-API (eine Reihe benutzerdefinierter Gridviews zur besseren Anzeige der Daten) zu umschließen, während der Code und die Steuerelemente auf der Seite einwandfrei funktionierten Als ich sie zu einem .ascx bewegte, hörten die Ereignisse auf, darauf zu schießen.Benutzersteuerungsereignisse, die nicht an ihre Handler gelangen
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CustomMembership.ascx.cs" Inherits="CCGlink.CustomMembership" %>
<asp:Panel ID="mainPnl" runat="server">
<asp:Label
id="lblError"
ForeColor="Red"
Font-Bold="true"
runat="server" />
<asp:GridView
id="grdUsers"
HeaderStyle-cssclass="<%# _headercss %>"
RowStyle-cssclass="<%# _rowcss %>"
AlternatingRowStyle-cssclass="<%# _alternatingcss %>"
OnRowUpdating="grdUsers_RowUpdating"
OnRowDeleting="grdUsers_RowDeleting"
OnRowCancelingEdit="grdUsers_cancelEdit"
autogeneratecolumns="false"
allowsorting="true"
AllowPaging="true"
EmptyDataText="No users..."
pagesize="<%# PageSizeForBoth %>"
runat="server">
<!-- ...columns... -->
</asp:GridView>
<asp:Button
id="btnAllDetails"
onclick="btnAllDetails_clicked"
text="Full Info"
runat="server" />
<asp:GridView
DataKeyNames="UserName"
HeaderStyle-cssclass="<%# _headercss %>"
RowStyle-cssclass="<%# _rowcss %>"
AlternatingRowStyle-cssclass="<%# _alternatingcss %>"
id="grdAllDetails"
visible="false"
allowsorting="true"
EmptyDataText="No users in DB."
pagesize="<%# PageSizeForBoth %>"
runat="server" />
<asp:Button
id="btnDoneAllDetails"
onclick="btnAllDetails_clicked"
text="Done."
Visible="false"
runat="server" />
</asp:Panel>
jedoch keines der Ereignisse in den ersten beiden Kontrollen (die gridview grdUsers und die Taste btnAllDetails) einfach nicht auftreten, habe ich dies im Debugger überprüft. Wenn sie auf der Aspx-Seite gut ankommen, warum sterben sie dann, wenn sie zum Ascx wechseln?
in der aspx Mein Code ist jetzt:
<div class="admin-right">
<asp:ScriptManager ID="sm1" runat="server" />
<h1>User Management</h1>
<div class="admin-right-users">
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<cm1:CustomMembership
id="showUsers"
PageSizeForBoth="9"
AlternatingRowStylecssclass="alternating"
RowStylecssclass="row"
DataSource="srcUsers"
HeaderStylecssclass="header"
runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
Dank.
Kommentar Entschuldigung für die falsch formatierte aspx ... StackOverflow Mangled meine Divs vor. – PhrkOnLsh
Ich habe es etwas aufgespürt. Es scheint, dass meine Seite, aus welchem Grund auch immer, Page_Load zweimal aufruft, einmal als Postback, nicht als eine! Irgendeine Idee, warum das System zwei Postbacks zu einem einzelnen Benutzersteuerelement werfen würde? – PhrkOnLsh