为什么我的样式不会在Dynamics CRM 4 IFRAME中显示?

Dan*_*her 2 dynamics-crm dynamics-crm-4

我创建了一个网页(ASP.NET),其中包含一个模仿Dynamics CRM样式的样式表.这将在CRM IFRAME中使用(在表单中).

样式表引用如下:

<head id="Head1" runat="server">
    <link href="Styles.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)

当我在Visual Studio中加载页面时,一切都很好.当我在CRM中加载它时,没有显示任何样式,也没有显示图像.如果我直接浏览图像,我会收到404错误.但是,页面功能正常.

我已在服务器上为"Everyone"设置了读取权限,以查看是否导致问题,但它没有帮助.我还尝试在文件夹中放置一个纯HTML页面,也不会加载 - 再次加载404.

该页面安装在ISV文件夹..../isv/MyProject中.

有人可以帮忙吗?

编辑

这是一个多租户系统.在我的测试公司(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,则页面看起来是正确的.但是,由于我不知道客户在哪里安装项目,这是不合适的.

Cor*_*ien 5

问题是CRM使用ASP.NET虚拟路径提供程序将租户名称包含在URL路径中.但是对于ASP.NET处理程序未处理的文件类型,IIS无法找到它们.

作为解决方法,您可以使用类似href ="../ Styles.css"的路径从HTML页面引用CSS

实际上你可能最好使用href ="/ ISV/MyProject/Styles.css",因为当使用Internet Facing Deploy配置访问CRM时,它不包含路径中的租户名称.