Redirection page
m (Lars moved page Error page to Redirection page: Better to use redirect instead of error)
(Adding page to Category:TOC because it contains a TOC.)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==== Handling incorrect URLs and responding with a good error message ====
=== Handling Incorrect URLs ===
If your user requests an page on your site that doesn't exist, Turnkey will redirect the request to a viewmodel called ErrorView
If your user requests a page on your site that doesn't exist, Turnkey will redirect the request to a ViewModel called RedirectView


On this page you can put any user friendly message that you want to display.
On this page, you can put any user-friendly message you want to display.


==== Catching error information ====
==== Responding With a Good Error Message ====
If you add two variables in the '''ErrorView''' viewmodel, these will be filled with information about the error.
Showing a nice 404 error message is good and lets you send your users back to the main page.
* '''RawURL''', a string that will receive the URL path that brought the user to the error page
 
* '''ErrorCode''', a string that will receive the error code, for example 400
==== Further Redirection ====
The ErrorView could for example look like this
This feature can also be used to further redirect to other pages. In the example above, an action button with an Interval set to 10 ms that, in special cases, redirects to the correct page in the application. You can add any lookup logic and have multiple actions that handle different URLs and errors.
 
This also enables you to add "shortcuts" to your application.
 
=== Catching Error Information ===
If you add two variables in the '''RedirectView''' ViewModel, these will be filled with information about why the user ended up on the redirect page.
* '''RawURL''', a string that will receive the URL path that brought the user to the redirect/error page
* '''ErrorCode''', a string that will receive the error code, for example, 400
The RedirectView could, for example, look like this:
[[File:ErrorPageViewmodel.png|none|thumb|393x393px]]
[[File:ErrorPageViewmodel.png|none|thumb|393x393px]]


==== Further redirection ====
=== Implementation Details ===
This feature can also be used to further redirect to other pages. In the example above there is a action button with an Interval set to 10 ms that in special cases redirect to the correct page in the application. You can add any lookup logic and have multiple actions that handles different URLs and errors.
An application error is handled within the MVC controller in the Turnkey server. No web.config configuration is needed.
 
You can read more about using the [[DisplayWithVariables]] feature which the redirect feature uses. It redirects to the view "RedirectView" and adds the error code. DWV is a short version of [[DisplayWithVariables]] that doesn't require a root object - which we don't have in this case.


This also makes it possible for you to add "shortcuts" to your application.
Related: [[Improved routes]]
[[Category:Navigation]]
{{Edited|July|12|2024}}


==== Implementation details ====
[[Category:TOC]]
This feature is implemented using settings in the web.config file, like this
<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="400"/>
  <error statusCode="400" responseMode="ExecuteURL" path="/DWV?v=ErrorView&amp;amp;ErrorCode=400"/>
  <remove statusCode="401"/>
  <error statusCode="401" responseMode="ExecuteURL" path="/DWV?v=ErrorView&amp;amp;ErrorCode=401"/>
  <remove statusCode="402"/>
  <error statusCode="402" responseMode="ExecuteURL" path="/DWV?v=ErrorView&amp;amp;ErrorCode=402"/>
  <remove statusCode="403"/>
  <error statusCode="403" responseMode="ExecuteURL" path="/DWV?v=ErrorView&amp;amp;ErrorCode=403"/>
  <remove statusCode="404"/>
  <error statusCode="404" responseMode="ExecuteURL" path="/DWV?v=ErrorView&amp;amp;ErrorCode=404"/>
</httpErrors>
This redirects errors using the [[DisplayWithVariables]] feature. It redirect to the view "ErrorView" and adds the error code. DWV is a short version of [[DisplayWithVariables]] that doesn't require a root object, which we don't have in this case.

Latest revision as of 14:13, 26 March 2024

Handling Incorrect URLs

If your user requests a page on your site that doesn't exist, Turnkey will redirect the request to a ViewModel called RedirectView

On this page, you can put any user-friendly message you want to display.

Responding With a Good Error Message

Showing a nice 404 error message is good and lets you send your users back to the main page.

Further Redirection

This feature can also be used to further redirect to other pages. In the example above, an action button with an Interval set to 10 ms that, in special cases, redirects to the correct page in the application. You can add any lookup logic and have multiple actions that handle different URLs and errors.

This also enables you to add "shortcuts" to your application.

Catching Error Information

If you add two variables in the RedirectView ViewModel, these will be filled with information about why the user ended up on the redirect page.

  • RawURL, a string that will receive the URL path that brought the user to the redirect/error page
  • ErrorCode, a string that will receive the error code, for example, 400

The RedirectView could, for example, look like this:

ErrorPageViewmodel.png

Implementation Details

An application error is handled within the MVC controller in the Turnkey server. No web.config configuration is needed.

You can read more about using the DisplayWithVariables feature which the redirect feature uses. It redirects to the view "RedirectView" and adds the error code. DWV is a short version of DisplayWithVariables that doesn't require a root object - which we don't have in this case.

Related: Improved routes

This page was edited 45 days ago on 03/26/2024. What links here