mdo:navigate ( [ param-1-name, param-1-value [ ,...n ] ] )

mdo:navigate creates an URL that begins as current page url but is appended with query string with parameters. Exactly it calls NavigateURL(), gets current query string and merges parameters in the following precedence:
  1. parameters passed to the current mdo:navigate
  2. parameters of the url returned by NavigateURL()
  3. parameters of the current request query string
When using mdo:navigate it is better to use global parameters (beginning with "$"). Global parameters are put in query string as is and look human- and SEO-friendly. Local module parameters are appended with TabModuleID and produce ugly long URLs.

Value of parameter 'test': {{mdo:param('$test')}}<br />
<a href="{mdo:navigate('$test', mdo:param('$test', 0) + 1)}">Increase</a>
You can seamlessly mix useage of mdo:ajax, mdo:submit and mdo:navigate. However, you must manually subscribe module that uses mdo:navigate on ajax parameters changes made by other modules. This is required because module with navigate must update values of parameters in it's command links. XsltDb doesn't automate this refresh as it may cause wasteful traffic. But you probably will never mix ajax and navigate across modules on page.

See also:

Last edited Nov 15, 2009 at 5:32 PM by findy, version 4


No comments yet.