【问题标题】:change control outside UpdatePanelUpdatePanel 之外的更改控制
【发布时间】:2014-07-25 05:14:40
【问题描述】:

简而言之:当我从 UpdatePanel 内部单击一个按钮时,我想启用一个按钮,即在 UpdatePanel 外部。

问题:按钮启用,但UpdatePanel updPnlOfferings按钮点击后,标签iasp:Localize未显示在渲染代码中

详情: 我在UpdatePanel 中有一个 DataList,其中包含列表中每个项目的删除按钮。删除按钮正在服务器上触发一个事件,该事件删除记录并禁用按钮(即在 UpdatePanel.

正如有人建议的那样,我将按钮(需要禁用)保留在下面的 UpdatePanel

  <asp:UpdatePanel ID="updPnlCourse" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:LinkButton ID="lnkDeleteCourseDetails" runat="server" OnClick="lnkDeleteCourseDetails_Click">
                        <i class="icon-remove-sign"></i>
                        <asp:Localize ID="Localize6" runat="server" Text="<%$ Resources:CBLabels, LBL_DeleteDetails %>" />
                    </asp:LinkButton>
                    <asp:ConfirmButtonExtender ID="lnkDeleteCourseDetails_ConfirmButtonExtender" runat="server"
                        ConfirmText='Are you sure you want to delete this course?' Enabled="True" TargetControlID="lnkDeleteCourseDetails">
                    </asp:ConfirmButtonExtender>
                </ContentTemplate>
            </asp:UpdatePanel>

下面是触发事件的主UpdatePanel

    <asp:UpdatePanel ID="updPnlOfferings" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Panel ID="pnlDSOfferings" runat="server">
                <asp:DataList ID="dtlstOfferings" runat="server" OnItemCommand="dtlstOfferings_ItemCommand" EnableViewState="true">
                </asp:DataList></asp:Panel>
         </ContentTemplate>
    </asp:UpdatePanel> 

dtlstOfferings_ItemCommand 事件中我对此进行了编码

lnkDeleteCourseDetails.Enabled = true;
lnkDeleteCourseDetails.ToolTip = "";
lnkDeleteCourseDetails_ConfirmButtonExtender.Enabled = true;
updPnlCourse.Update();

【问题讨论】:

  • 你遇到了什么问题?它不工作吗?

标签: asp.net updatepanel


【解决方案1】:

这是link 中指定的已知问题。 解决方案是将 LinkBut​​ton 中的所有内容放在如下所示的占位符中,或者将所有子控件设置为服务器控件。

<asp:LinkButton ID="lnkDeleteCourseDetails" runat="server" OnClick="lnkDeleteCourseDetails_Click">
   <asp:PlaceHolder runat="server"> 
     <i class="icon-remove-sign"></i>
     <asp:Localize ID="Localize6" runat="server" Text="<%$ Resources:CBLabels, LBL_DeleteDetails %>" />
   </asp:PlaceHolder>
</asp:LinkButton>

【讨论】:

  • 哇。你救了我。直到现在,我一直在用头撞桌子。非常感谢。
猜你喜欢
  • 2010-10-04
  • 2013-09-25
  • 2011-06-22
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2018-10-25
相关资源
最近更新 更多