1

我有一些奇怪的行为。

我有一个控件 ( 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>

该控件有一个带有 LinkBut​​ton 的中继器,在某些情况下会丢失 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_ClickrepeaterPartsToSchedule_ItemCommand)没有触发!

希望我足够明确,对我的英语感到抱歉

谢谢

4

1 回答 1

0

验证你不是每次都绑定你的控件,

You can use in your bind this bloc

If(! IsPostBack)
{

}
于 2012-06-25T15:21:57.607 回答