Refresh URL address from action screen

Refresh URL address from action screen

I have a button which has the submit method. It triggers a screen action and, at the end of this action, instead of ending the execution, it redirects to another page. The problem is that the page is redirected but the URL in the address bar doesn't refresh - it leaves the previous where the button was.

How can i solve this?
Hi Nuno,

Take a look:
It's a normal behavior and excluding rare situations it will not affect your logic / development.

Comparing to ASP.Net:

Outsystems External Site widget  = ASP.NET Response.Redirect() //Change the url on address bar
Outsystems GoTo Destination widget  = ASP.NET Server.Transfer() //Keeps the url unchanged

Question: It is a real issue the "unchanged url" behavior?

Rafael Pereira

Question: It is a real issue the "unchanged url" behavior?


1. customers like to compare the url with what they see.
2. if you hit f5...then what??
The problem is that i create an Employee and press "Save". It goes to the previous screen. But then i want to refresh that page. When I do F5 it duplicates the created Employee. If i continue to press F5 it continues to copy the same Employee.
Hi Nuno,

Can you share an eSpace with the referred behavior, so we can look into it?


Paulo Tavares
Here's the behaviour of the screen action. It doesn't matter the whole eSpace because the problem is just in this action.
I have a button called "Save" of method "submit" which triggers this action.

As i said, this action works but doesn't change the URL in the address bar to the "ShowContacts" page.

Hi Nuno.

I'm sorry, but I'm not sure of the exact problem you're trying to solve:

- If it is the URL in the browser address;
- If it is the fact that F5 re-submits the information, and as such creates a new entry in the database;
- or if it is both.

If the problem is F5 creating a new entry in the database, I'm under the impression that that is what F5 is supposed to do, browser-wise - and that's why some of them actually warn you about it.

If you want to prevent double-insertion of the data, you'll probably want to code in a fix to prevent the application doing so. One way you can do it is using a session variable, and do the following:

- In the Create/Update screen, set it to null in the preparation, and set it with a value in your Submit action.
- In the submit action, check if it is null (i.e. if the user has accessed the screen), or if it has a value (i.e. if it's a screen refresh, most likely).

It's not elegant, but it should work...

The URL in the browser stays the same because the Submit method equals a .Net postback.

Which of the two are you trying to solve?


Paulo Tavares
I'm only trying to solve the URL in the browser's address bar. The F5 was posted later because I was kind of answering to an objection.

My point is to always have the correct URL in the browser's address bar
As mentioned, that is not the server behavior for a postback method.

However, if you must change the URL, this is not the most elegant solution, but it works:

- Reference the HTTPRequestHandler action "GetEntryURL"
- Create an entry point for the destination screen
- Use an External Site node as destination of the submit action
- Make the destination URL the following:   


and it will change the URL.


Paulo Tavares
I'm sorry but I misread a post where a solution was given. I simply added an External Site and it worked fine.

Thanks everyone for the help.