UpdatePanel に含まれるコントロールから分離されたユーザー コントロールに 2 番目のフォームを作成することで、この問題を解決しました。これらのコントロールが更新される前に、分離されたコントロール (この場合はラベル) にプログラムで値が割り当てられ、コントロールの Page_Load イベントが発生すると、分離されたラベルの値を参照して現在の位置を追跡します。ページにはこれらのカスタム ユーザー コントロールがいくつかあり、ページごとに 1 つの ScriptManager しか許可されないため、ScriptManager を自分のコントロールの外に移動し、コントロールが使用されるページに配置する必要もありました。
<form id="NaviControl" >
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Panel ID="controlsPanel" runat="server" HorizontalAlign="Center" >
<asp:Panel ID="Panel1" runat="server" >
<asp:Button ID="btnLast" runat="server" Text="Previous" Height="25px" Width="75px" OnClick="btnLast_Click" />
<asp:TextBox ID="tbStatusCode" runat="server" ></asp:TextBox>
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" HorizontalAlign="Center" >
<asp:TextBox ID="tbDescription" runat="server" ></asp:TextBox>
<asp:Button ID="btnNext" runat="server" Text="Next" Height="25px" Width="75px" OnClick="btnNext_Click" />
</asp:Panel>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
<form>
<asp:Label ID="lblCounter" runat="server" visible="false" />
</form>
他のいくつかのナブがこのアプローチが役立つことを願っています。