Adding an internal ASPX page with relative URL to CRM 4.0 sitemap
I've added a subarea to my sitemap in CRM 4.0, and for absolute URLs it works as expected. However, for relative URLs it does not. The page in question is internal and is accessed through:
http://localhost/ISV/<orgName>/Account.aspx/ExternalDocumentList
However, I would prefer writing this in sitemap:
/ISV/<orgName>/Account.aspx/ExternalDocumentList
When this is expanded, CRM/IIS rewrites it to:
http://localhost/<orgName>/ISV/<orgName>/Account.aspx/ExternalDocumentList
For reference, here is the sitemap addition (which doesn't work):
<SubArea Id="custom_documentHistory" Url="/ISV/<orgName>/Account.aspx/ExternalDocumentList"&开发者_如何学运维gt;
<Titles>
<Title LCID="1033" Title="Document History"/>
</Titles>
</SubArea>
How can I link to this page relatively?
The ../ notation is perfectly valid for signifying a operation. There isn't really a problem with using that notation, though it depends on your usage.
The first instance of <orgName> in your URL is the default behaviour of CRM to allow multi-tenancy - do you need to have the second instance? Could you have the Account.aspx page sat directly under the ISV folder, and use server side code to determine the organisation name?
Basically the path you enter in the URL attribute is used as a relative path from the http://localhost/<orgName>/
If you want to understand more about ASP.NET paths and how to work with them, Rick Strahl has a good post here: http://www.west-wind.com/Weblog/posts/132081.aspx
精彩评论