我觉得我觉得很奇怪。让我解释一下情况。我在Colorbox模式弹出窗口中有两个asp:Panels,它们没有分配CSS类或隐藏div的CSS类。这样做的目的是根据C#事件处理程序的结果显示不同的asp:Panel。此功能适用于除IE(所有版本)之外的所有浏览器。
例如,弹出窗口显示一个简单的表单,用于向网站管理员发送电子邮件。 linkbutton的click事件触发发送电子邮件的事件处理程序。发送电子邮件成功后,将表单面板的CSS设置为“隐藏”,并从显示消息的“成功”面板中删除相同的CSS类。
我在IE中使用开发人员工具跟踪了请求,并且响应正文标记确实显示正确的CSS类已应用于各自的面板,但页面标记保持不变。下面是用于上述场景的标记的缩减版本。如果我关闭颜色框弹出窗口并重新打开它,它将显示正确的面板。希望有人能提供帮助。感谢
<asp:UpdatePanel ID="_uiAddItemTODBUp" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:LinkButton ID="_uiAddToDbLnk" Text="Add Item To Database"
CssClass="footerHyperLnk" OnClick="_uiAddToDBLnk_Click" runat="server"></asp:LinkButton>
<div class="popups">
<div id="addDBPop" style='padding:10px; background:#fff; color: #000000;'>
<asp:Panel ID="_uiAddDBWrap" CssClass="" runat="server">
<h3>Form</h3>
<asp:LinkButton ID="_uiRequestBtn" OnClick="_uiRequestBtn_Click"
CausesValidation="true" Text="Send Request" runat="server"></asp:LinkButton>
</asp:Panel>
<asp:Panel ID="_uiAddDBConfirmPnl" CssClass="hide" runat="server">
<h3>Success Message</h3>
</asp:Panel>
</div>
</div>
<div class="clear">
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="_uiAddToDbLnk" />
<asp:AsyncPostBackTrigger ControlID="_uiRequestBtn" />
</Triggers>
</asp:UpdatePanel>