2009-06-01 9 views
0

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.

+0

Kommentar Entschuldigung für die falsch formatierte aspx ... StackOverflow Mangled meine Divs vor. – PhrkOnLsh

+0

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

Antwort

0

Sie haben nicht gesagt, ob Sie eine Website oder eine Webanwendung erstellen. Wenn Sie eine Webanwendung erstellen, überprüfen Sie, ob die .designer-Datei ordnungsgemäß aktualisiert wurde, wenn Sie die Steuerelemente in das Benutzersteuerelement verschoben haben ?

+0

Website, sorry. – PhrkOnLsh

Verwandte Themen