我在Asp.Net中创建了一个自定义UserControl。此用户控件包含一个包含在UpdatePanel中的asp:ImageButton,其中UserControl中包含ScriptManagerProxy,主页上的父ScriptManger包含这些自定义UserControls添加到的asp:Panel(呈现为带有项目的对象的列表)。我想抑制从ImageButton(包含在UpdatePanel中)的单击以不触发导致页面刷新的PostBacks。以下是自定义UserControl中的UpdatePanel包装ImageControl的片段:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="CatImage" EventName="Click" />
</Triggers>
<ContentTemplate>
<fieldset>
<asp:ImageButton ID="CatImage" runat="server" Height="128px" Width="128px" ImageUrl="../Handlers/ImageResizer.ashx?imgpath=../PhotographicImages/noImageFound.png&w=180&h=180" OnClick="CatImage_Click"/>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
在主页面的顶部,将这些UserControl动态加载到其asp:Panel是:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
这仅适用于第一次单击后的每次单击...意味着第一次单击会导致主页面上的PostBack,但任何后续单击都会被禁止。
单击此ImageButton时,我在CodeBehind中触发一个事件以显示&#34; LightBox&#34;具有较大版本图像的对象。
这段代码有什么问题?如何抑制第一次点击导致PostBack到我的父页面?