title: Maintaining page scroll position after updatepanel partial postback
body: <p>I am a beginner at ASP.NET and I have a problem maintaining the scroll position of the page after a partial postback of an UpdatePanel. I tried setting <code>MaintainScrollPositionOnPostback="true"</code> in <code>&lt;%@ Page Language="C#" ...%&gt;</code> but it didn't do the trick. Please note that I am using (and have to use) FireFox.</p>
  
  <p>Any help would be appreciated. Thank you! Here is my code:</p>
  
  <pre><code>&lt;asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"&gt;
  &lt;asp:HiddenField ID="ClassificationHiddenField" runat="server" /&gt;
  &lt;asp:HiddenField ID="DateHiddenField" runat="server" /&gt;
  &lt;table&gt;
      &lt;tr&gt;
          &lt;td&gt;
              &lt;asp:Panel ID="GroupTitlePanel" CssClass="titlePanelBold" BorderStyle="Ridge" runat="server"
                  Width="400px"&gt;
                  &lt;table id="MainTable"&gt;
                      &lt;tr&gt;
                          &lt;td align="center" class="style3"&gt;
                              &lt;asp:Label ID="GroupLabel" runat="server"&gt;
                              &lt;/asp:Label&gt;
                          &lt;/td&gt;
                          &lt;td align="center" class="style4"&gt;
                              &lt;asp:Label ID="ReturnLabel" runat="server" Text="Expected Return"&gt;
                              &lt;/asp:Label&gt;
                          &lt;/td&gt;
                      &lt;/tr&gt;
                  &lt;/table&gt;
              &lt;/asp:Panel&gt;
              &lt;br /&gt;
              &lt;asp:Panel ID="GroupMainPanel" runat="server" Width="400px"&gt;
              &lt;/asp:Panel&gt;
          &lt;/td&gt;
          &lt;td width='100px'&gt;
          &lt;/td&gt;
          &lt;td&gt;
          &lt;/td&gt;
      &lt;/tr&gt;
  &lt;/table&gt;
  &lt;asp:Panel ID="BottomPanel" runat="server" BorderStyle="Ridge"&gt;
      &lt;table&gt;
          &lt;tr&gt;
              &lt;td align="center"&gt;
                  &lt;br /&gt;
                  &lt;asp:ToolkitScriptManager ID="ToolkitScriptManager1" EnablePartialRendering="true"
                      runat="server"&gt;
                  &lt;/asp:ToolkitScriptManager&gt;
                  &lt;asp:CheckBoxList runat="server" ID="GroupCheckBoxList" RepeatColumns="10" RepeatDirection="Horizontal"
                      RepeatLayout="Table" AutoPostBack="true" ClientIDMode="AutoID" OnSelectedIndexChanged="GroupCheckBoxList_SelectedIndexChanged"&gt;
                  &lt;/asp:CheckBoxList&gt;
              &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;
                  &lt;asp:UpdatePanel ID="GroupUpdatePanel" runat="server" Visible="true" UpdateMode="conditional"&gt;
                      &lt;ContentTemplate&gt;
                          &lt;asp:Panel ID="GroupGraphPanel" runat="server" Visible="true"&gt;
                          &lt;/asp:Panel&gt;
                      &lt;/ContentTemplate&gt;
                      &lt;Triggers&gt;
                          &lt;asp:AsyncPostBackTrigger ControlID="GroupCheckBoxList" EventName="SelectedIndexChanged" /&gt;
                      &lt;/Triggers&gt;
                  &lt;/asp:UpdatePanel&gt;
              &lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/asp:Panel&gt;
  </code></pre>
  
  <p></p>