Почему мои стили не отображаются в Dynamics CRM 4 IFRAME? - PullRequest
2 голосов
/ 24 марта 2010

Я создал веб-страницу (ASP.NET), которая включает таблицу стилей для имитации стилей Dynamics CRM. Это должно использоваться в CRM IFRAME (в форме).

На таблицу стилей ссылаются следующим образом:

<head id="Head1" runat="server">
    <link href="Styles.css" rel="stylesheet" type="text/css" />
</head>

Когда я загружаю страницу в Visual Studio, все хорошо. Когда я загружаю его в CRM, ни один из стилей не отображается и изображения не отображаются. Если я перехожу прямо к изображению, я получаю ошибку 404. Однако страницы работают правильно.

Я установил разрешения на чтение для «Все» на сервере, чтобы проверить, не является ли это причиной проблемы, но это не помогло. Я также попытался поместить обычную HTML-страницу в папку, и она тоже не загружается - снова 404.

Страница установлена ​​в папке ISV .... / isv / MyProject.

Может кто-нибудь помочь?

EDIT

Это система с несколькими арендаторами. В моей тестовой компании (testcompany), если я просматриваю http://crm/testcompany/isv/MyProject/MyPage.aspx,, страница загружается (без стилей и изображений).

Если я просматриваю http://crm/testcompany/isv/MyProject/TestImage.gif, изображение не отображается.

Если перейти к http://crm/isv/MyProject/TestImage.gif,, изображение будет показано. Означает ли это, что проблема связана с настройкой сервера и тем, как CRM взаимодействует с виртуальными каталогами?

Это означает, что если я установлю ссылку на стили на /isv.MyProject/Styles.css, страница будет выглядеть правильно. Однако, поскольку я не знаю, где клиенты будут устанавливать проект, это неуместно.

Ответы [ 2 ]

5 голосов
/ 24 марта 2010

Проблема заключается в том, что CRM использует поставщика виртуального пути ASP.NET для включения имени клиента в путь URL-адреса. Но для типов файлов, которые не обрабатываются обработчиком ASP.NET, IIS не может их найти.

В качестве обходного пути вы можете ссылаться на свой CSS со своей HTML-страницы, используя путь, например href = "../ Styles.css"

На самом деле вам, вероятно, будет лучше использовать href = "/ ISV / MyProject / Styles.css", потому что при доступе к CRM с использованием конфигурации развертывания с выходом в Интернет он не включает имя клиента в путь.

2 голосов
/ 01 мая 2010

Хотя уже ответили, этот пост подробно описывает «проблему» http://blogs.msdn.com/emeadcrmsupport/archive/2010/03/22/how-to-create-a-relative-url-in-site-map-to-static-content-under-the-isv-folder-in-crm-4.aspx

...