我正在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>
请有人可以帮助我!!!!
答案 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