次のような単純化された構造を持つ .NET 4.0 Web アプリケーションがあります: RootMaster (ScriptManager を使用) > ShipmentMaster > ContentPage > UpdatePanel
UpdatePanel は、部分的なページ更新によるページのちらつきを減らすために最近追加されました。動いていない。代わりに、完全なポストバック/更新が行われています。
上記の構造を模倣する 1 つ (Ex1) と、次のような 1 つ (Ex2) で、これの 2 つの縮小バージョンをセットアップしました: ContentPage (with ScriptManager) > UpdatePanel
オリジナル (および Ex1) の Master/ScriptManager の配置に関する何かが問題を引き起こしているように思われますが、何が原因かはわかりません。
何か案は?
Ex1に関連する(間違っている場合は修正してください)コードは次のとおりです。
ルートマスター、
<body>
<form id="pageForm" runat="server">
<asp:ScriptManager ID="SiteScriptManager"
runat="server"
AjaxFrameworkMode="Enabled"
EnablePartialRendering="True"
LoadScriptsBeforeUI="true"
ScriptMode="Release"
onasyncpostbackerror="SiteScriptManager_AsyncPostBackError" >
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.7.1.min.js" />
<asp:ScriptReference Path="~/Scripts/jquery-ui-1.8.18.custom.min.js" />
<asp:ScriptReference Path="~/Scripts/jquery.tools.min.js" />
<asp:ScriptReference Path="~/Scripts/json2.js" />
<asp:ScriptReference Path="~/Scripts/modernizr.custom.js" />
<asp:ScriptReference Path="~/Scripts/PFF.js" />
</Scripts>
</asp:ScriptManager>
...
</form>
</body>
</html>
WebForm1.aspx、
<%@ Page Title="" Language="C#" MasterPageFile="~/Master/Root.master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Pasha.OTTS.Web.FamiliesFirst.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="RootHeadContentPlaceholder" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="RootBodyContentPlaceholder" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="dpShipments" />
</Triggers>
<ContentTemplate>
<asp:DataPager ID="dpShipments" runat="server" PagedControlID="lvShipments" PageSize="3" onprerender="dpShipments_PreRender">
<Fields>
<asp:NextPreviousPagerField />
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<asp:ListView ID="lvShipments" runat="server" onpagepropertieschanging="lvShipments_PagePropertiesChanging">
<LayoutTemplate>
<div class="table-wrapper">
<table class="results">
<tr>
<th>A</th>
<th>B</th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</div>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td ><%#Eval("A")%></td>
<td ><%#Eval("B")%></td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:Button ID="Button1" runat="server" Text="Button" />
<p>Async: <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
</ContentTemplate>
</asp:UpdatePanel>