When you are using a Button widget you can specify how the inputs provided by the end-user are handled when the button is clicked. This behavior is implemented by the Method property of the Button widget.

The possible options for the Method property are:

Navigate Method

This method only allows to navigate to a specific web screen, and send information through web screen input parameters. This method is commonly associated with the behavior of links, since they allow to navigate between web screens. This means that when the end-user clicks a button with a Navigate method:

    1. The browser makes a request to the web server asking for a specific web screen and sends its input parameters through the URL;
    2. The Preparation action of the screen runs, allowing you to execute some logic with screen input variables received, and prepare the data to be displayed like making queries, invoking web services...After the preparation action finishes, the server renders the html page and sends it to the browser;
    3. The browser receives the html page and displays it to the end-user.

Since the arguments are passed to the linked web screen through the URL, this means that end-users can bookmark the screen, and later come back to the screen with the same input parameters.

Due to how the underlying technology works (HTTP GET), there are some details you should be aware of:

Submit Method

This method allows to synchronously send data to the server. This means that when the end-user clicks a button with the Submit method:

    1. The browser makes a request to the web server and sends all the user inputs (using HTTP POST). Then the browser waits for the server to return an html page;
    2.  A Screen Action runs on the server, allowing you to implement logic to process the end-user inputs;
    3. The Preparation action of the web screen runs. After the preparation action finishes, the server renders the html page and sends it to the browser;
    4. The browser receives the html page and displays it to the end-user.

Ajax Submit Method

This method allows you to asynchronously send data to the server. This means that when the end-user clicks a button with the Ajax Submit method:

    1. The browser makes a request to the web server and sends all the user inputs, but this request is made through javascript. The result is that the browser does not hang, waiting for the server to send an html page. Instead the user can continue reading the web page;
    2. A Screen Action runs on the web server, allowing you to execute server-side logic;
    3. When the Screen Action finishes, the Preparation of the screen does not run: you need to explicitly refresh the query you have executed in the Preparation, and use the Ajax Refresh tool to refresh the screen parts that you want;
    4. The parts of the page that your refreshed using the Refresh Tool are updated on the client-side.

If you don't use the Ajax Refresh Tool, there will be no changes in the web screen when the end-user presses the button.

See Also

Button Properties | About Rich Web Screens using Ajax