1

私はいくつかの奇妙な振る舞いをしています。

InformationalPanel.ascx2 つの異なる aspx ページ内に配置されたコントロール ( ) があります。それらの 1 つ ( SendSmsFile.aspx) ではすべて正常に動作しますが、他の ( SendMessage.aspx) では、コントロールは正しくレンダリングされますが、内部のイベントは機能しません。

コントロールは、等しい asp ヘッダーと同じ masterpage を持つ aspx ページ内で等しい

<%@ Page Language="C#" MasterPageFile="~/Default.Master" AutoEventWireup="True" CodeBehind="SendMessage.aspx.cs" Inherits="Messages.SendMessage" ValidateRequest="false"%>

...

<asp:Panel ID="panelSubmissionScheduler" runat="server" Visible="false">
    <uc2:InformationalPanel ID="submissionSchedulerInformationalPanel" runat="server" />
</asp:Panel>

コントロールには、場合によっては Click イベントを失った LinkBut​​ton を持つリピーターがあります

<asp:Repeater ID="repeaterPartsToSchedule" runat="server" OnItemCommand="repeaterPartsToSchedule_ItemCommand"
                OnItemDataBound="repeaterPartsToSchedule_ItemDataBound">
                <ItemTemplate>
                    ...
                    <asp:LinkButton ID="scheduleLinkButton" runat="server" Text="<%$ Resources:ResourcesDefault, Schedule %>"
                        CssClass="button_serv" CommandName="schedule" OnClick="scheduleLinkButton_Click" />
                    ...
                </ItemTemplate>
            </asp:Repeater>

Refresh可視性が変更された場合 (一部のビジネス ルールのため) 、リピーター (DataBind) を設定するascx のメソッドを呼び出します。

scheduleLinkButton_Clickto aspx ページでデバッグを実行しましたが、すべてが機能し、別のイベント (またはrepeaterPartsToSchedule_ItemCommand) が発生しない理由がわかりません。

私が十分に明確であり、私の英語を申し訳なく思っていたことを願っています

ありがとう

4

1 に答える 1

0

毎回コントロールをバインドしないことを確認してください。

You can use in your bind this bloc

If(! IsPostBack)
{

}
于 2012-06-25T15:21:57.607 に答える