我有一些奇怪的行为。
我有一个控件 ( InformationalPanel.ascx
),它被放在两个不同的 aspx 页面中。在其中一个 ( SendSmsFile.aspx
) 中一切正常,但在另一个 ( SendMessage.aspx
) 中,虽然控件正确呈现,但内部的事件不起作用。
控件在具有相同 asp 标题和相同母版页的 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>
该控件有一个带有 LinkButton 的中继器,在某些情况下会丢失 Click 事件
<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>
当可见性改变时(因为某些业务规则),我调用 ascx 的Refresh
方法来填充转发器(DataBind)。
我在到 aspx 页面中运行调试,但我无法发现为什么在一个一切正常而在另一个事件(scheduleLinkButton_Click
或repeaterPartsToSchedule_ItemCommand
)没有触发!
希望我足够明确,对我的英语感到抱歉
谢谢