How to Pass Parameters to a Web Resource in Dynamics CRM
How to Pass Parameters to a Web Resource in Dynamics CRM
HTML Web Resources are commonly used in Dynamics 365 CRM to create custom user interfaces, dashboards, visualizations, and integrations. In many scenarios, the Web Resource needs information from the parent CRM form, such as record IDs, field values, or user details.
Passing parameters to a Web Resource allows developers to create dynamic and reusable solutions without hardcoding values.
Business Scenario
Suppose an Account form contains an HTML Web Resource that displays account-related analytics. The Web Resource must receive the current Account ID so it can retrieve and display the correct data.
Step 1: Add HTML Web Resource
- Create an HTML Web Resource.
- Add the Web Resource to the form.
- Open Form Designer.
- Insert the Web Resource.
- Save and Publish the form.
Step 2: Pass Parameter from Form
var accountId = formContext.data.entity.getId(); var webResource = formContext.getControl( "WebResource_Account" ); webResource.setSrc( "/WebResources/new_AccountDashboard.html?id=" + accountId );
This appends the record ID as a query string parameter.
Step 3: Read Parameter in HTML Web Resource
function getParameterByName(
name
) {
var url =
window.location.href;
name =
name.replace(
/[\[\]]/g,
'\\'
);
var regex =
new RegExp(
'[?&]' +
name +
'(=([^]*)|&|#|$)'
);
var results =
regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(
results[2]
.replace(/\+/g, ' ')
);
}
var accountId =
getParameterByName('id');
The Account ID is now available inside the HTML page.
Passing Multiple Parameters
webResource.setSrc( "/WebResources/new_page.html" + "?id=" + accountId + "&name=" + accountName + "&status=" + status );
Example Output URL
new_page.html ?id=12345 &name=CRMONCE &status=Active
Common Use Cases
- Custom dashboards
- Charts and analytics
- Record-specific visualizations
- Embedded applications
- Third-party integrations
- Advanced form customizations
Benefits
- Creates reusable Web Resources
- Supports dynamic content
- Improves user experience
- Enables advanced customizations
- Reduces hardcoded values
Key Takeaways
- Web Resources can receive parameters through query strings.
- JavaScript is used to pass values from CRM forms.
- HTML pages can read values using URL parsing techniques.
- Supports dynamic and reusable customizations.
- Widely used in Dynamics 365 CRM development.