I need to have an absolute URL of a listitem's display form - currently I do it the following way:
item.ParentList.ParentWeb.Url.TrimEnd('/') //"http://example.com" + "/" + item.ParentList.DefaultDisplayFormUrl.Trim('/')//"Lists/WorkflowTasks/DispForm.aspx" + "?ID=" + item.ID //"?ID=1"
This gets me the correct URL, meaning http://example.com/Lists/WorkflowTasks/DispForm.aspx?ID=1.
However this fails when my site collection is on a slightly more sophisticated host url, for example http://example.com/sites/secondsite/ - both methods from my code return the url containing the "/sites/secondsite/ part so I end up with http://example.com/sites/secondsite/sites/secondsite/Lists/etc...
How do I code it in a more reliable way?