代码之家  ›  专栏  ›  技术社区  ›  Josh

通过UpdatePanel调用会导致ASP.NET验证(CSS)不显示

  •  1
  • Josh  · 技术社区  · 14 年前

    我有一个ASP.NET Ajax表单,其中包含ASP.NET验证。当我将代码推送到生产环境中并使用表单时,在Ajax调用之后不会显示验证(验证仍然有效,但CSS没有显示-ex.*字段必需消息)。如果我不进行任何Ajax调用,验证就会显示得很好。我已经读到updatepanel有一个bug: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=103134 我读了这个博客,它有一个解决方法,但不适合我: http://weblogs.asp.net/alessandro/archive/2007/12/31/updatepanel-css-stylesheet-upon-partial-refresh-bug-in-ie.aspx

    有人能解释一下吗?谢谢您。

    1 回复  |  直到 13 年前
        1
  •  0
  •   The Demz Ian    13 年前

    一个简单的修复方法是将样式放入更新面板。

    直接从链接获取的exampel http://weblogs.asp.net/alessandro/archive/2007/12/31/updatepanel-css-stylesheet-upon-partial-refresh-bug-in-ie.aspx

    <asp:UpdatePanel ID="TheUpdatePanel" runat="server">
        <ContentTemplate>
            <style type="text/css">
                div
                {
                    display:block;
                    overflow:auto;
                }
                .collapsed 
                {
                 height:50px;         
                }
                .expanded
                {
                 height:inherit;
                }
            </style>
            <asp:Panel CssClass="collapsed" runat="server" ID="pnlMain">
                1<br />2<br />3<br />4<br />5<br />6<br />
            </asp:Panel>
            <asp:Button ID="btnExpCol" runat="server" Text="Expand" />
    
        </ContentTemplate>
    </asp:UpdatePanel>