In Sitefinity we use Lucene search indexing engine, for our Search Module. Lucene operates with special document types, that store the basic information necessary for providing the indexing and searching functionality. By default the field name where the original Sitefinity content ID is stored inside each Lucene document varies depending on how the particular module has configured its inbound pipe.
The blog post contained a typo, so I have used the "OriginalContentId" name, whlist the correct field name, according to the unified concept that we have adopted is that all Content types will use the "OriginalItemId" field.
In the current Sitefinity version you're using this is also valid, so using the "OriginalItemId" is the correct approach.
When subscribing to the ResultsListItemDataBound event of your SearchResults widget template you're actually retrieving the Lucene documents that Sitefinity returns. The reason why we're returning this type of documents, and not the actual items is because a search keyword might return instances of several different content types, thus we have come up with a uniform type based on the Lucene document, which carried the necessary information for the search results, namely the title, link, and highlighter results.
The above explains why modifying the search results to display properties of a particular type is not as trivial. However the task is certainly possible. As we've elaborated in the blog post Patrick mentioned in his initial reply, each Lucene document you get on ResultsListItemDataBound will contain the "ContentType" field where you can obtain the correct information what kind of item you're dealing with.
Once you've resolved the type, you can then operate with this type's specific properties, however you first need to get the actual item (remember what you've been working with so far is the Lucene document, not the Sitefinity item). This is done by obtaining the item's ID, which as we've discussed above is stored in the "OriginalContentId" (for Content items) field of the Lucene document.
Once you've retrieved the ID, you can call the resolved type's manager and retrieve the actual item by this ID. Form then on operating with the item is just as with any item of that type - you can get its properties and use them depending on your specific use case scenario.
To summarize the above, the bare minimum you need is:
var ID =
var product = CatalogManager.GetManager().GetProduct(ID);
//do something with the product here
Thank you for letting us know of the problems experienced with the sample on the blog post - we have updated the information there to reflect the changes in the product. You can find the updated blog post here
the Telerik team