{"id":88,"date":"2010-01-22T18:17:26","date_gmt":"2010-01-22T18:17:26","guid":{"rendered":"http:\/\/beta.robertprice.co.uk\/robblog\/2010\/01\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/"},"modified":"2010-01-22T18:17:26","modified_gmt":"2010-01-22T18:17:26","slug":"maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml","status":"publish","type":"post","link":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/","title":{"rendered":"Maintaining The Scroll Position On An ASP.NET Page After Postback"},"content":{"rendered":"<p>\nI had a requirement today for an ASP.NET page to jump to the same part of the page once a form was submitted via a postback.\n<\/p>\n<p>\nQudos to my fellow developer Andy Howell for leaping in and pointing out that functionality was already in ASP.NET 2.0 and above, so there would be no need for me to write any funky JavaScript.\n<\/p>\n<p>\nYou need to set <var>MaintainScrollPositionOnPostback<\/var> to <var>true<\/var>. I did this in the <code>Page<\/code> tag on the ASP.NET page.\n<\/p>\n<div class=\"code\"><code>&lt;%@ Page MaintainScrollPositionOnPostback=\"true\" %&gt;<br \/>\n<\/code><\/div>\n<p>\nAlthough I&#8217;ve not tested it yet, you should also be able to set it globally in the <var>web.config<\/var> file in the pages section.\n<\/p>\n<div class=\"code\"><code>&lt;pages maintainScrollPositionOnPostBack=\"true\" \/&gt;<br \/>\n<\/code><\/div>\n<p>\nOr programmatically in the code behind.\n<\/p>\n<div class=\"code\"><code>System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;<br \/>\n<\/code><\/div>\n<p>\nFor more information on this, see the MSDN page for <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/system.web.ui.page.maintainscrollpositiononpostback.aspx\">System.Web.UI.Page.MaintainScrollPositionOnPostBack<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I had a requirement today for an ASP.NET page to jump to the same part of the page once a form was submitted via a postback. Qudos to my fellow developer Andy Howell for leaping in and pointing out that functionality was already in ASP.NET 2.0 and above, so there would be no need for &hellip; <a href=\"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Maintaining The Scroll Position On An ASP.NET Page After Postback&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[2],"tags":[7,75],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-dev","tag-net","tag-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price\" \/>\n<meta property=\"og:description\" content=\"I had a requirement today for an ASP.NET page to jump to the same part of the page once a form was submitted via a postback. Qudos to my fellow developer Andy Howell for leaping in and pointing out that functionality was already in ASP.NET 2.0 and above, so there would be no need for &hellip; Continue reading &quot;Maintaining The Scroll Position On An ASP.NET Page After Postback&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/\" \/>\n<meta property=\"og:site_name\" content=\"Robert Price\" \/>\n<meta property=\"article:published_time\" content=\"2010-01-22T18:17:26+00:00\" \/>\n<meta name=\"author\" content=\"rob\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"rob\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/\"},\"author\":{\"name\":\"rob\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"headline\":\"Maintaining The Scroll Position On An ASP.NET Page After Postback\",\"datePublished\":\"2010-01-22T18:17:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/\"},\"wordCount\":137,\"keywords\":[\".NET\",\"Web Development\"],\"articleSection\":[\"Dev\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/\",\"name\":\"Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\"},\"datePublished\":\"2010-01-22T18:17:26+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Maintaining The Scroll Position On An ASP.NET Page After Postback\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\",\"name\":\"Robert Price\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\",\"name\":\"rob\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"caption\":\"rob\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/","og_locale":"en_GB","og_type":"article","og_title":"Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price","og_description":"I had a requirement today for an ASP.NET page to jump to the same part of the page once a form was submitted via a postback. Qudos to my fellow developer Andy Howell for leaping in and pointing out that functionality was already in ASP.NET 2.0 and above, so there would be no need for &hellip; Continue reading \"Maintaining The Scroll Position On An ASP.NET Page After Postback\"","og_url":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/","og_site_name":"Robert Price","article_published_time":"2010-01-22T18:17:26+00:00","author":"rob","twitter_card":"summary_large_image","twitter_misc":{"Written by":"rob","Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/#article","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/"},"author":{"name":"rob","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"headline":"Maintaining The Scroll Position On An ASP.NET Page After Postback","datePublished":"2010-01-22T18:17:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/"},"wordCount":137,"keywords":[".NET","Web Development"],"articleSection":["Dev"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/","url":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/","name":"Maintaining The Scroll Position On An ASP.NET Page After Postback - Robert Price","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website"},"datePublished":"2010-01-22T18:17:26+00:00","author":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"breadcrumb":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.robertprice.co.uk\/robblog\/maintaining_the_scroll_position_on_an_asp_net_page_after_postback-shtml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robertprice.co.uk\/robblog\/"},{"@type":"ListItem","position":2,"name":"Maintaining The Scroll Position On An ASP.NET Page After Postback"}]},{"@type":"WebSite","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website","url":"https:\/\/www.robertprice.co.uk\/robblog\/","name":"Robert Price","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robertprice.co.uk\/robblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5","name":"rob","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","caption":"rob"}}]}},"_links":{"self":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":0,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}