/// <summary> /// This will return the normal service url based on id but will also ensure that the data type definition id is passed through as the nodeKey param /// </summary> /// <param name="tree">The tree.</param> /// <param name="id">The id.</param> /// <param name="dataTypeDefId">The data type def id.</param> /// <returns></returns> /// <remarks> /// We only need to set the custom source to pass in our extra NodeKey data. /// By default the system will use one or the other: Id or NodeKey, in this case /// we are sort of 'tricking' the system and we require both. /// Umbraco allows you to theoretically pass in any source as long as it meets the standard /// which means you can pass around any arbitrary data to your trees in the form of a query string, /// though it's just a bit convoluted to do so. /// </remarks> internal static string GetTreeServiceUrlWithParams(this BaseTree tree, int id, int dataTypeDefId) { var url = tree.GetTreeServiceUrl(id); //append the node key return(url + "&nodeKey=" + dataTypeDefId); }