This is a migrated thread and some comments may be shown as answers.

How can I prevent users from submitting a form twice?

7 Answers 548 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Magnus
Top achievements
Rank 1
Magnus asked on 04 Aug 2008, 07:35 AM

I would like to freeze the whole page, including menus, and add those buttons that should freeze the page in the code behind file (Some buttons on the page should not freeze the page). I have a master page and using client validators on the page.

/Grateful

7 Answers, 1 is accepted

Sort by
0
Yavor
Telerik team
answered on 04 Aug 2008, 01:51 PM
Hello Magnus,

One possible approach in handling this case would be to disable the contents on the page, from the code-behind's click handler of the submit button. Another option is to disable the elements using client side code (an onclick handler).
I hope one of these options is suitable for you.

All the best,
Yavor
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Magnus
Top achievements
Rank 1
answered on 04 Aug 2008, 02:21 PM

Hello and thank you for the quick response.

Sorry for my ambiguity. I would like to handle this with a waiting popup with a loading image. Like this http://www2.syncfusion.com/infrastructure/web/tools.web/samples/2.0/NotificationPackage/WaitingPopup/CoreFeature/CS/CoreFeature.aspx

Is it possible to do something like this with RadControls? And using client validators?

(I prefer to cover the whole page)

0
Veli
Telerik team
answered on 04 Aug 2008, 02:44 PM
Hello Magnus,

Such a functionality can easily be implemented using our RadAjax controls, where a page does not perform a standard postback, but an AJAX callback with a loading image appearing in the time between posts. For more information, please refer to our online demo examples.

Best wishes,
Veli
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Magnus
Top achievements
Rank 1
answered on 06 Aug 2008, 08:37 AM

Hello again and thank you for your reply.

I put this in the master page:



<telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Transparency="60" BackColor="White">

    <asp:Image ID="imgLoading" runat="server" ToolTip="Loading..." ImageUrl="~/Images/waiting.gif" />
</telerik:RadAjaxLoadingPanel>

And this in the Page file: 
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="LoadingPanel1">
    My page code…
</telerik:RadAjaxPanel>

This working fine, but all client events start the loading panel, and one of my page that use a user control with an updatable asp:UpdatePanel don’t work anymore:

Sys.InvalidOperationException: Could not find UpdatePanel with ID 'ctl00_Content_Person1_UpdatePanelPerson'. If it is being updated dynamically then it must be inside another UpdatePanel.

Why?
Is RadAjaxPanel necessary? Is it possible to specify those buttons that should start the loading panel in the code behind file?
Is it possible (in the page cs-file) to specify if the whole page or just a part of the page should be covered by the RadAjaxLoadingPanel?

Kind regards, Magnus

 

0
Veli
Telerik team
answered on 06 Aug 2008, 11:01 AM
Hello Magnus,

Generally, if you define a RadAjaxLoadingPanel for a RadAjaxPanel, the loading panel spans all the controls defined inside RadAjaxLoadingPanel. On the other hand, I couldn't quite understand what does "all client events start the loading panel" mean. The loading panel is shown whenever an ajax callback to the server needs to be done. This callback can be explicitly invoked from client javascript code, but in the general case, client events do not invoke the loading panel.

As for the user control with an update panel, there is no need (and it is not recommended) to use an ajax control inside another one. If your content is all ajaxified through the RadAjaxPanel in the master page, please remove the UpdatePanel control from the user control.

Kind regards,
Veli
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Magnus
Top achievements
Rank 1
answered on 06 Aug 2008, 02:26 PM

Hello again, and thank you for your patience and quick response.

I need to update a user control and have followed this example: http://msdn.microsoft.com/en-us/library/bb398780.aspx

Is this not recommended?

Is there some example on how I explicitly can invoke a callback with javascript?

By the way, when I put the RadAjaxPanel in the master page I get an error message about <% … %> tags.

0
Yavor
Telerik team
answered on 08 Aug 2008, 09:30 AM
Hi Magnus,

You can nest an update Panel in the user Control, however, further Ajaxifying the user control may cause conflicting ajax settings. Therefore, I would suggest that you ajaxify only one of the instances.
Further, you can explicitly make an AjaxRequest to the server explicitly. Additional information is contained in the following article, and more specifically the section dedicated to "Client-side functions".
I hope this information helps.

Best wishes,
Yavor
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
Tags
Ajax
Asked by
Magnus
Top achievements
Rank 1
Answers by
Yavor
Telerik team
Magnus
Top achievements
Rank 1
Veli
Telerik team
Share this question
or