Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Disable user input durring long postback.Disable user input durring long postback.
Previous
 
Next
New Post
10/31/2006 5:03 PM
 

Hello,

I'm here to ask the age old question...  I know there are many answers too it; but adding DNN to the mix causes me to ask it again; I could dig in my toolbox for one of the dozen ways I've solved it in the past, however sometimes it's better to learn quickly from mistakes others have already made.

How can I disable user navigation while a long postback is taking place?  Not only in the module i'm writing - but in all other modules and most importantly the menu.  The best example of "Why" is to prevent users from causing a double postback durring credit card validation.  I understand that this can be prevented at the server...  But I have other reasons why I don't want a user to stop waiting and click on a menu item before they get to the page they're trying to load.

Has anybody experimented with a generic client side java routine that will disable all postback objects in all modules including items on the page because of skin tokens (such as the menu). or placing a clear DIV on top of the menu items to prevent them from being clicked?

I understand that whatever solution I come up with is going to be a "hit and miss" solution...  that someone can always hit the back button, or navigate to a previously saved link or website altogether.  My needs do not depend on the using getting to the page they are waiting for...  but if I could spend a little bit of time to solve the problem for 85% of scenarios / users... then it could be worth it.

Matt Christenson

www.RealSkydiving.com

 
New Post
11/1/2006 12:40 PM
 

I don't know about doing the whole page, but for just your module two easy things quickly come to mind.

  1. Use client side javascript to disable the submit and other elements onclick of the long postback button
  2. Use Ajax.  Either MS version or I personally like Telerik's version.  Put everything in an update panel and when the user clicks the button they get the nice "loading..." or any graphic you want during the Ajax postback.

 

 
New Post
11/1/2006 1:53 PM
 
professorcw1 wrote

I don't know about doing the whole page, but for just your module two easy things quickly come to mind.

  1. Use client side javascript to disable the submit and other elements onclick of the long postback button
  2. Use Ajax.  Either MS version or I personally like Telerik's version.  Put everything in an update panel and when the user clicks the button they get the nice "loading..." or any graphic you want during the Ajax postback.

 

I am familiar with using Ajax but only for a few third party controls from Infragistics and some home built controls.  I have not used it very extensively because at the time when I put the most research into it (about a year ago) it still did not have a powerful framework associated with it and browser compatability made me concerned.

The first option that you suggested is what I had planned to do if I was not able to come up with any way to disable the entire page (menu system)...

I am not familiar with an Ajax update panel.  Are you referring to a part of Atlas?  This is something that I have been waiting for a good time to get involved with; I am concerned that the learning curve may be large enough to de-rail my ongoing development efforts; and that browser compatability and stability issues on the server side could leave me with a problem that I am unable to solve myself.  It sounds like you've used them.  What do you feel about their overall usefulness and stability across a wide variety of internet browsers?

Thanks,

Matt

 
New Post
11/1/2006 2:41 PM
 

I am referring to Atlas.  I think it's stable enough to consider; the technology certainly isn't going away.  As long as your users are using a current browser, I don't think you'll run into any major compatibility issues with Atlas itself.  In that regard, I'd look at that approach.  With the Update Panel and Loading Panel controls, it's really quite simple to implement.  You don't really have to do too much code yourself.  You really just define your triggers.  If you use a framework, like Telerik as I suggested earlier, you don't even have to write the triggers.  The framework does everything for you.  That's the direction I would go.

You can see a very simple Atlas implementation here.

http://www.netqconsulting.com/CodeSamples/Atlas/UpdatePanel/tabid/152/Default.aspx

This does not use a Loading Panel, but you'll get an idea of how the Update Panel works.  It's really quite simple.

The other approach of disabling the controls will also work; it's just not as elegant (imho).

 

 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Disable user input durring long postback.Disable user input durring long postback.


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out