Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Server-side controls repositing long client forms to top

Reply
Thread Tools

Server-side controls repositing long client forms to top

 
 
=?Utf-8?B?TmV0d29yeHBybw==?=
Guest
Posts: n/a
 
      09-07-2007
Whenever an ASP.NET server-side control is processed, the client form is
repainted from the top forcing users to scroll back to where they were on
long forms. How can I work around this issue?

For example run this, scroll down and click the left check box:

<%@ Page Language=vb %>
<html>
<script runat=server>
Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs)
Box2.Checked = Box1.Checked
End Sub
</script>

<body>
<form id="Form1" method="post" runat="server">
<TABLE>
<TR><TD height=1500 bgcolor=red></TD></TR>
<TR>
<TD>
<asp:CheckBox id=Box1 runat="server" AutoPostBack=True
OnCheckedChanged=Test></asp:CheckBox>
</TD><TD>
<asp:CheckBox id=Box2 runat="server"></asp:CheckBox>
</TD>
</TR>
</TABLE>
</form>
</body>
</html>
 
Reply With Quote
 
 
 
 
=?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=
Guest
Posts: n/a
 
      09-07-2007
Just set the MaintainScrollPositionOnPostback directive to True, either on
the page-level or in Web.config if you want it to apply to all pages in the
website. For a single page, update the <% @Page directive so that it looks
lkike:

<%@ Page Language="..." MaintainScrollPositionOnPostback="true" ... %>


To apply the setting to all pages in the website, add the following to the
Web.config file (within the <system.web> element):

<pages maintainScrollPositionOnPostBack="true" />


-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com



"Networxpro" wrote:

> Whenever an ASP.NET server-side control is processed, the client form is
> repainted from the top forcing users to scroll back to where they were on
> long forms. How can I work around this issue?
>
> For example run this, scroll down and click the left check box:
>
> <%@ Page Language=vb %>
> <html>
> <script runat=server>
> Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs)
> Box2.Checked = Box1.Checked
> End Sub
> </script>
>
> <body>
> <form id="Form1" method="post" runat="server">
> <TABLE>
> <TR><TD height=1500 bgcolor=red></TD></TR>
> <TR>
> <TD>
> <asp:CheckBox id=Box1 runat="server" AutoPostBack=True
> OnCheckedChanged=Test></asp:CheckBox>
> </TD><TD>
> <asp:CheckBox id=Box2 runat="server"></asp:CheckBox>
> </TD>
> </TR>
> </TABLE>
> </form>
> </body>
> </html>

 
Reply With Quote
 
 
 
 
=?Utf-8?B?TmV0d29yeHBybw==?=
Guest
Posts: n/a
 
      09-07-2007
Thanks, but unfortunately this site is running .NET Framework 1.1 and
MaintainScrollPositionOnPostback is new in 2.0

Any other suggestions?

"Peter Bromberg [C# MVP]" wrote:

> Just set the MaintainScrollPositionOnPostback directive to True, either on
> the page-level or in Web.config if you want it to apply to all pages in the
> website. For a single page, update the <% @Page directive so that it looks
> lkike:
>
> <%@ Page Language="..." MaintainScrollPositionOnPostback="true" ... %>
>
>
> To apply the setting to all pages in the website, add the following to the
> Web.config file (within the <system.web> element):
>
> <pages maintainScrollPositionOnPostBack="true" />
>
>
> -- Peter
> Recursion: see Recursion
> site: http://www.eggheadcafe.com
> unBlog: http://petesbloggerama.blogspot.com
> BlogMetaFinder: http://www.blogmetafinder.com
>
>
>
> "Networxpro" wrote:
>
> > Whenever an ASP.NET server-side control is processed, the client form is
> > repainted from the top forcing users to scroll back to where they were on
> > long forms. How can I work around this issue?
> >
> > For example run this, scroll down and click the left check box:
> >
> > <%@ Page Language=vb %>
> > <html>
> > <script runat=server>
> > Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs)
> > Box2.Checked = Box1.Checked
> > End Sub
> > </script>
> >
> > <body>
> > <form id="Form1" method="post" runat="server">
> > <TABLE>
> > <TR><TD height=1500 bgcolor=red></TD></TR>
> > <TR>
> > <TD>
> > <asp:CheckBox id=Box1 runat="server" AutoPostBack=True
> > OnCheckedChanged=Test></asp:CheckBox>
> > </TD><TD>
> > <asp:CheckBox id=Box2 runat="server"></asp:CheckBox>
> > </TD>
> > </TR>
> > </TABLE>
> > </form>
> > </body>
> > </html>

 
Reply With Quote
 
bruce barker
Guest
Posts: n/a
 
      09-07-2007
just do the same logic. in clientscript, in onsubmit, store the x & y in
a hidden fields. then on postback render if x & y are filled in, render
client script to set the scroll position.

-- bruce (sqlwork.com)

Networxpro wrote:
> Thanks, but unfortunately this site is running .NET Framework 1.1 and
> MaintainScrollPositionOnPostback is new in 2.0
>
> Any other suggestions?
>
> "Peter Bromberg [C# MVP]" wrote:
>
>> Just set the MaintainScrollPositionOnPostback directive to True, either on
>> the page-level or in Web.config if you want it to apply to all pages in the
>> website. For a single page, update the <% @Page directive so that it looks
>> lkike:
>>
>> <%@ Page Language="..." MaintainScrollPositionOnPostback="true" ... %>
>>
>>
>> To apply the setting to all pages in the website, add the following to the
>> Web.config file (within the <system.web> element):
>>
>> <pages maintainScrollPositionOnPostBack="true" />
>>
>>
>> -- Peter
>> Recursion: see Recursion
>> site: http://www.eggheadcafe.com
>> unBlog: http://petesbloggerama.blogspot.com
>> BlogMetaFinder: http://www.blogmetafinder.com
>>
>>
>>
>> "Networxpro" wrote:
>>
>>> Whenever an ASP.NET server-side control is processed, the client form is
>>> repainted from the top forcing users to scroll back to where they were on
>>> long forms. How can I work around this issue?
>>>
>>> For example run this, scroll down and click the left check box:
>>>
>>> <%@ Page Language=vb %>
>>> <html>
>>> <script runat=server>
>>> Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs)
>>> Box2.Checked = Box1.Checked
>>> End Sub
>>> </script>
>>>
>>> <body>
>>> <form id="Form1" method="post" runat="server">
>>> <TABLE>
>>> <TR><TD height=1500 bgcolor=red></TD></TR>
>>> <TR>
>>> <TD>
>>> <asp:CheckBox id=Box1 runat="server" AutoPostBack=True
>>> OnCheckedChanged=Test></asp:CheckBox>
>>> </TD><TD>
>>> <asp:CheckBox id=Box2 runat="server"></asp:CheckBox>
>>> </TD>
>>> </TR>
>>> </TABLE>
>>> </form>
>>> </body>
>>> </html>

 
Reply With Quote
 
=?Utf-8?B?TmV0d29yeHBybw==?=
Guest
Posts: n/a
 
      09-08-2007
Thanks Bruce & Peter.

Your tips and a search led me to a couple of simple solutions that I can
easily apply to our various webforms:

Steve Stchur's "Maintaining Scroll Position on Postback"
http://aspnet.4guysfromrolla.com/articles/111704-1.aspx

Ibrahim Uludag's "Crossbrowser SmartNavigation Alternatives"
http://www.codeproject.com/aspnet/lili2.asp

Thanks for the help!
Networxpro

"bruce barker" wrote:

> just do the same logic. in clientscript, in onsubmit, store the x & y in
> a hidden fields. then on postback render if x & y are filled in, render
> client script to set the scroll position.
>
> -- bruce (sqlwork.com)
>
> Networxpro wrote:
> > Thanks, but unfortunately this site is running .NET Framework 1.1 and
> > MaintainScrollPositionOnPostback is new in 2.0
> >
> > Any other suggestions?
> >
> > "Peter Bromberg [C# MVP]" wrote:
> >
> >> Just set the MaintainScrollPositionOnPostback directive to True, either on
> >> the page-level or in Web.config if you want it to apply to all pages in the
> >> website. For a single page, update the <% @Page directive so that it looks
> >> lkike:
> >>
> >> <%@ Page Language="..." MaintainScrollPositionOnPostback="true" ... %>
> >>
> >>
> >> To apply the setting to all pages in the website, add the following to the
> >> Web.config file (within the <system.web> element):
> >>
> >> <pages maintainScrollPositionOnPostBack="true" />
> >>
> >>
> >> -- Peter
> >> Recursion: see Recursion
> >> site: http://www.eggheadcafe.com
> >> unBlog: http://petesbloggerama.blogspot.com
> >> BlogMetaFinder: http://www.blogmetafinder.com
> >>
> >>
> >>
> >> "Networxpro" wrote:
> >>
> >>> Whenever an ASP.NET server-side control is processed, the client form is
> >>> repainted from the top forcing users to scroll back to where they were on
> >>> long forms. How can I work around this issue?
> >>>
> >>> For example run this, scroll down and click the left check box:
> >>>
> >>> <%@ Page Language=vb %>
> >>> <html>
> >>> <script runat=server>
> >>> Sub Test(ByVal sender As System.Object, ByVal e As System.EventArgs)
> >>> Box2.Checked = Box1.Checked
> >>> End Sub
> >>> </script>
> >>>
> >>> <body>
> >>> <form id="Form1" method="post" runat="server">
> >>> <TABLE>
> >>> <TR><TD height=1500 bgcolor=red></TD></TR>
> >>> <TR>
> >>> <TD>
> >>> <asp:CheckBox id=Box1 runat="server" AutoPostBack=True
> >>> OnCheckedChanged=Test></asp:CheckBox>
> >>> </TD><TD>
> >>> <asp:CheckBox id=Box2 runat="server"></asp:CheckBox>
> >>> </TD>
> >>> </TR>
> >>> </TABLE>
> >>> </form>
> >>> </body>
> >>> </html>

>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Having compilation error: no match for call to (const __gnu_cxx::hash<long long int>) (const long long int&) veryhotsausage C++ 1 07-04-2008 05:41 PM
Long forms repaint from top when server side controls get processe Networxpro ASP General 2 09-07-2007 10:44 AM
long long and long Mathieu Dutour C Programming 4 07-24-2007 11:15 AM
unsigned long long int to long double Daniel Rudy C Programming 5 09-20-2005 02:37 AM
Assigning unsigned long to unsigned long long George Marsaglia C Programming 1 07-08-2003 05:16 PM



Advertisments