UpdatePanel обновляет всю страницу (ASP.NET WebForm, перенесенный проект) - PullRequest
0 голосов
/ 03 июля 2018

Я работаю в ASP WebForm Project, это устаревший код, изначально он был сделан с VS 2008, но команда перенастроила его на VS 2015 и .NET 4.5.2. Проблема в том, что я пытаюсь использовать UpdatePanel для обновления DataGrid каждые 10 секунд, используя таймер в качестве триггера, но он перезагружает всю страницу, даже если я меняю таймер с помощью кнопки, страница также обновляется. Я не знаю, произошло ли это из-за плохой конфигурации 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 голосов
/ 04 июля 2018

Хорошо, я обнаружил проблему, проблема в том, что проект был перенесен из .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

...