UpdatePanel刷新整个页面(ASP.NET WebForm,已迁移的项目)

时间:2018-07-03 13:34:23

标签: asp.net asynchronous asp.net-ajax updatepanel scriptmanager

我正在ASP WebForm Project中工作,它是旧代码,最初是由VS 2008制作的,但团队将其迁移到VS 2015和.NET 4.5.2。问题是我试图使用UpdatePanel使用Timer作为触发器每10秒刷新一次DataGrid,但是即使我通过Button更改Timer也会刷新页面,它也会重新加载整个页面。我不知道是否由于ScriptManager的错误配置或其他原因而发生。 这是我的代码:

<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" AjaxFrameworkMode="Enabled"  runat="server"></asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="udt1" RenderMode="Block" ValidateRequestMode="Disabled" UpdateMode="Conditional" ChildrenAsTriggers="true">

    <ContentTemplate>
        <asp:DataGrid ID="dg1" runat="server" CssClass="dataGrid" OnItemDataBound="dg1_ItemDataBound" AllowPaging="True" AutoGenerateColumns="False">
            <SelectedItemStyle CssClass="SelectedItemStyle"></SelectedItemStyle>
            <AlternatingItemStyle CssClass="AlternatingItemStyle"></AlternatingItemStyle>
            <ItemStyle CssClass="ItemStyle"></ItemStyle>
            <HeaderStyle CssClass="HeaderStyle"></HeaderStyle>
            <FooterStyle CssClass="FooterStyle"></FooterStyle>
            <Columns>
                <asp:TemplateColumn>
                    <ItemStyle HorizontalAlign="Center" Width="2%"></ItemStyle>
                    <ItemTemplate>
                        <img id="imgOb" src="~/images/observacion.gif" style="cursor: hand; border: 0px;" runat="server" alt=""/>
                    </ItemTemplate>
                </asp:TemplateColumn>
                <asp:BoundColumn DataField="ID" HeaderText="No." ItemStyle-HorizontalAlign="Right"></asp:BoundColumn>
                <asp:BoundColumn DataField="Date" HeaderText="Date" DataFormatString="{0:dd/MM/yyyy HH:mm:ss}" ItemStyle-HorizontalAlign="Center"></asp:BoundColumn>
                <asp:TemplateColumn>
                    <ItemStyle HorizontalAlign="Center"></ItemStyle>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkEdit" runat="server" OnClick="lnkEdit_Click">Edit</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateColumn>
            </Columns>
            <PagerStyle CssClass="PagerStyle" Mode="NumericPages"></PagerStyle>
        </asp:DataGrid>

        <asp:Timer ID="tmr1" runat="server" OnTick="tmr1_Tick" iterval="10000"></asp:Timer>
         <asp:Label ID="testlbl" runat="server" Text="1">1</asp:Label>
     </ContentTemplate>
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="tmr1" EventName="Tick" />
     </Triggers>

 </asp:UpdatePanel>

请有人可以帮助我!!!!

1 个答案:

答案 0 :(得分:0)

好吧,我发现了问题,问题在于该项目已从.NET 3.5迁移到.NET 4.5,并且在web.config文件中,迁移自动生成了以下几行:

<xhtmlConformance mode="Legacy"/>
<pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5"/>

所以我将其删除,并且一切正常!

我留下链接来解释“ xhtmlConformance”标签:https://msdn.microsoft.com/en-us/library/ms228268(v=vs.100).aspx