2009-06-01 23 views
0

ユーザーコントロールを作成してメンバーシップAPI(カスタムグリッドビューを使用してデータをよりよく表示)を作成しようとしています。コードとコントロールがページ内で正常に機能していました私がそれらを.ascxに移動したとき、イベントはそれに発砲するのを止めました。ユーザーコントロールイベントがハンドラーに届かない

<%@ 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> 

しかし、最初の2つのコントロール(GridViewコントロールgrdUsersとボタンbtnAllDetails)内のイベントのどれも、単に私がデバッガでこれを確認した、発生しません。彼らがaspxのページでうまく発生した場合、ascxに移動するとなぜ彼らは死ぬのですか? aspxの中

私のコードは以下のようになります。

<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> 

感謝。

+0

コメント誤ってフォーマットされたaspxのために申し訳ありません... StackOverflowは前に私のdivsをmangled。 – PhrkOnLsh

+0

私は幾分それを追跡しました。私のページは何らかの理由で、Page_Loadを2回呼び出す、1回ポストバックする、そうでないと思われます! システムが1つのユーザーコントロールに2つのポストバックを投げる理由は何ですか? – PhrkOnLsh

答えて

0

あなたはWebサイトを作成するのかWebアプリケーションを作成するのかは言わない - Webアプリケーションを構築する場合、コントロールをユーザーコントロールに移動したときに.designerファイルが正しく更新されたことを確認した?

+0

ウェブサイト、申し訳ありません。 – PhrkOnLsh

0

http://forums.asp.net/t/1102183.aspx

これはCommandFieldでButtonType = "画像" との問題があることを説明しています。エントリを「リンク」に変更すると、この問題が解決されます。

関連する問題