Flashing when AutoPostback True......

Vb.Net, Asp.net, Sql Server, Windows 2000 Server, IBuySpy Template

Have a dropdown box and it works fine as long as autopostback is False.  When set to True the screen flashes with each time a user changes the index.  How can the flashing be erradicated?

Have already tried adding the smartnavigation set to true, programmatically, and it didn't get rid of the flashing.  Really need to use the autopostback feature but the flashing is not only annoying but also will not redraw the entire screen.


Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

the postback is causing a post to the server. It will flash no matter what you do, you are viewing something completely different as far as the browser is concerned.
When a page is requested by an Internet Explorer 5.5 browser, or later, smart navigation enhances the user's experience of the page by performing the following:

eliminating the flash caused by navigation.
persisting the scroll position when moving from page to page.
persisting element focus between navigations.
retaining only the last page state in the browser's history.
Smart navigation is best used with ASP.NET pages that require frequent postbacks but with visual content that does not change dramatically on return. Consider this carefully when deciding whether to set this property to true.

if you change alot of info ... it will still flash (just less)
on a slow machine it will still flash (just less)
GlassAuthor Commented:
Have attempted to add smart navigation programmatically but the screen still flashes.  As for the amount of data that is on the page:  a header, a tab menu, two text boxes with labels, two drop down boxes, one checkbox list and a textbox.  Only one drop down box has the autopostback set to true.  Each time a new option is selected the screen flashes....

Using an ascx page.  Added the following:

Page.SmartNavigation = true

Compiled but didn't reduce the flash at all.....

Any suggestions welcome.  Could really use the autopostback to determine whether to make another field visible or not....


Bootstrap 4: Exploring New Features

Learn how to use and navigate the new features included in Bootstrap 4, the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first websites.

Can't you set SmartNavigation to true in your ASPX file's page directive rather than embedding it in the user control. Give it a try.

<%@ Page ... SmartNavigation="true" %>
Just out of curiousity, what's exactly the reasons you need the SmartNavigationto be enabled? I'm not sure how much it could reduce page flickering but it's showing weird behaviour sometimes.

As I remember, in most cases, you should not set the SmartNavigation property directly in the code. Instead, use the SmartNavigation attribute of the Page directive. But again I'm not sure it'll meet to your expectation, maybe there're work arounds if you could specify what do you want to achieve.
GlassAuthor Commented:

My problem is that would like to set autopostback to true on one of the drop down boxes.  Using the autopostback feature would allow the visibility of another field to be determined.  However, when the autopostback is set to true --- and this is the only one on the page that is using it -- the page flickers with each new drop down box selection.  The flickering is very noticeable and annoying...

In a previous question,  it was asserted  that setting the smartNavigation to true will eliminate the flickering.  So far, this has proven untrue.  

So any ideas how can set autopostback to true without the flickering?

Would appreciate the help,
Have you tried to set it in the ASPX page itself? Not in the control. As previously stated this would be done in the page directive of the ASPX code.
GlassAuthor Commented:
This module uses a control - ascx page.  However, went back to the default.aspx and set the smart navigation to true.  The page is still flashing... Any other ideas?

GlassAuthor Commented:
Okie Dokie...... Have found my problem to be the following:

1) SmartNavigation can only be used by IE 5+  
2) Under SmartNavigation, the formatting of thepages from post back can go
tremendously wrong; if the styling of the page is a mixed breed of CSS and HTML

In my situation, reason 2 applies.  There is a work around -- a javascript that can be added to the assembly.


GlassAuthor Commented:
The script above did not work for me.  Found another one that is free and it is working.  

For IE5.5+, you can add this meta tag and it helps a ton (and is a very simple change):

<meta http-equiv="Page-Enter" content="revealTrans(Duration=0,Transition=5)">

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
GlassAuthor Commented:

Is there a way to enter this in a web form as opposed to html form?

I assume your question could be rephrased as, "Can this meta tag be entered while in Design View rather than in HTML View?"  If this is not what you're asking, please clarify.

Unfortunately, I do not have an answer to this question.  I am unfamiliar with Design View as it unexpectedly deletes large blocks of code.  Because of this, I only use HTML view.  However, I did take a look and I was unable to find a way to do this.  I hope somebody else can answer this question for you.
GlassAuthor Commented:

Will be posting the question but if I create an aspx file using HTML then meta tags present no problem in either design or html view.  However, if I create an ascx file, then cannot incorporate meta tags without error.  

Although I've not thoroughly tested it, you could try this on Page_Load:

Response.Write(@"<meta http-equiv=""Page-Enter"" content=""revealTrans(Duration=0,Transition=5)"">");

Although I'm not sure why, a quick test of this showed it to work for me in my environment even though it doesn't put it in the <head> section.
Other suggestions are to give the tag and ID and modify it with javascript (or id and runat and see what you can do from code behind):

(javascript method):
<meta id="myMetaTag">
function foo()
    var bob = document.getElementById('myMetaTag');
    [some code here]

(code behind method - need the / in the tag for runat=server to work):
<meta id="myMetaTag" runat="server" />
try to interface to it from your user control (if it's possible)

I've not tried these yet so they may or may not work.  Seem like they could though.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.