0

次のような単純化された構造を持つ .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>

4

1 に答える 1

0

自分の質問に答える - 誰が追加したのか、なぜ追加したのかはわかりませんが (元の投稿には表示されていなかったことがわかります)、攻撃的なコードは次の行にありました。

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Root.master.cs" Inherits="FamiliesFirst.Master.Root" ClientIDMode="Static" %>

具体的には:

ClientIDMode="Static"

それを削除すると、問題は解消されました。

于 2012-07-25T21:29:01.400 に答える