Pass parameters to a URL by using the ribbon

Note

This topic is about classic commands.

There is a new way to define commands. See Modern commanding overview (preview).

Ribbon actions are defined in the <Actions> element of a <CommandDefinition> element. There are several ways to pass contextual model-driven apps information as query string parameters to a URL by using the ribbon.

  • Use a <Url> element. Within the Url element, use the PassParams parameter.

  • Use a <Url> element together with a <CrmParameter> element. When used from a Url element, the name parameter value must be set.

  • Use a <JavaScriptFunction> element together with a <CrmParameter> element.

Use the PassParams parameter to set dynamic values

Passing parameters to the target URL by using the PassParams parameter provides information to the target application about the context of the record or the user. All the parameters are passed if the ribbon control is configured by using the PassParams. The following table lists the parameters that are passed.

Parameter Name Description
typename Table Name Name of the table. For custom tables, this includes the customization prefix, for example, new_tablename.
type Entity Type Code Integer that uniquely identifies the table in the current organization. Note: Entity Type Code values are determined by the order in which a table is created in an organization. Entity Type Codes for custom tables are usually different in different organizations.
id Object GUID Globally unique identifier (GUID) that represents a record.
orgname Organization Name Unique name of the organization.
userlcid User Language Code Language code identifier that is used by the current user.
orglcid Organization Language Code Language code identifier that represents the base language for the organization.

Language codes are four-digit or five-digit locale IDs. Valid locale ID values can be found at Locale ID (LCID) Chart).

Note

We recommend that you use the table name instead of the entity type code because the entity type code may be different between model-driven apps installations.

Example

The following sample shows the URL without parameters:

https://myserver/mypage.aspx  

The following sample shows the parameters included when the ribbon control is presented for the account table, for an organization called ‘AdventureWorksCycle’, when the user’s language and the organization base language is English, and the GUID for the account record is DBD5DBFB-0666-DC11-A5D9-0003FF9CE217:

https://myserver/mypage.aspx?orgname=AdventureWorksCycle&userlcid=1033&orglcid=1033&type=1&typename=account&id=%7BDBD5DBFB-0666-DC11-A5D9-0003FF9CE217%7D  

Use a Querystring parameter in the URL

You can include a querystring parameter in the URL. This can be very useful if you want to open a specific record or view by using Open forms, views, dialogs, and reports with a URL.

Note

You will not be able to import the ribbon if the URL includes the ampersand (&) character that is used to separate multiple querystring parameters in the URL. This character makes the XML invalid. You must escape the ampersand character in the URL value with "&".

Reading passed parameters

Passed parameters are usually read in the target .aspx page by using the HttpRequest.QueryString property. More information: HttpRequest.QueryString Property

Note

If the target of your URL is a Web resource, it can accept only the parameters identified in the topic Passing Parameters to HTMLWeb Resources. The only opportunity to pass custom values is by including them within the data parameter. Some special handling is required to include multiple values in a single parameter. More information: Sample: Passing Multiple Values to a Web Page Web Resource Through the Data Parameter

See also

Customize commands and the ribbon
Open forms and views with a URL
Define ribbon tab display rules
Sample: Export ribbon definitions