网页 (HTML) Web 资源

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

使用网页 (HTML) Web 资源为客户端扩展创建用户界面元素。

本主题内容

HTML Web 资源的功能

HTML Web 资源的限制

使用文本编辑器编辑 HTML Web 资源

禁止为托管解决方案编辑 Web 资源

引用来自 HTML Web 资源的其他 Web 资源

将参数传递到 Web 资源

HTML Web 资源的功能

由于一个 HTML Web 资源是直接流入用户的浏览器中的,所以 Web 资源会包含在用户浏览器中呈现的任何内容。

HTML Web 资源的限制

  • HTML Web 资源不能包含必须在服务器上执行的任何代码。ASP.NET 网页不能作为 HTML Web 资源上载。

  • HTML Web 资源只能接受一定数量的查询字符串参数。详细信息:将参数传递到 Web 资源

使用文本编辑器编辑 HTML Web 资源

Web 资源窗体所提供的文本编辑器只用于进行非常简单的 HTML 编辑。 若要编辑复杂的 HTML 文档,您应当使用外部编辑器来编辑代码,并使用“浏览”按钮来上载文件的内容。

例如,一个要求使用脚本来呈现页面内容的更为复杂的 HTML 网页,其开头如下示例所示。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script src="Script/Script.js" type="text/javascript"></script>
 <link href="CSS/Styles.css" rel="stylesheet" type="text/css" />
</head>
<body onload="SDK.ImportWebResources.showData()">
 <div id="results" />
</body>
</html>

在文本编辑器中打开并保存文档后,HTML 将变为如下所示内容。

<HTML><HEAD><TITLE></TITLE>
<META charset=utf-8></HEAD>
<BODY contentEditable=true onload=SDK.ImportWebResources.showData()>
<SCRIPT type=text/javascript src="Script/Script.js"></SCRIPT>
 <LINK rel=stylesheet type=text/css href="CSS/Styles.css">
<DIV id=results></DIV></BODY></HTML>

禁止为托管解决方案编辑 Web 资源

由于 Web 资源中的 HTML 功能可以被文本编辑器更改,因此推荐您使用托管属性来将复杂的 HTML Web 资源设置为不可对托管解决方案进行自定义。 在解决方案窗口中查看 Web 资源时,打开“托管属性”对话框,将“自定义”属性设置为 false

引用来自 HTML Web 资源的其他 Web 资源

您可以使用 Microsoft Dynamics 365 之外的程序来创建使用任何 Web 资源文件类型的一组相关文件。 如果您总是注意使用相对路径,并且导入的每个 Web 资源都使用一致的命名规则以反映网站的文件夹结构,您会发现 HTML Web 资源会保留对已作为 Web 资源导入的相关 CSS, XML, JScript、图像和 Silverlight 文件的链接。

例如,如果您创建的 Web 应用程序项目使用以下 [文件夹]/文件结构:

  • page.htm

  • [Styles]

    • style.css
  • [Scripts]

    • script.js

当您将这些文件作为 Web 资源导入时,假设您的解决方案发布商自定义前缀为“新”,您可以用以下方式进行命名:

  • new_/page.htm

  • new_/Styles/style.css

  • new_/Scripts/script.js

如果您遵循该模式,您的 new_/page.htmHTML Web 资源就可以按照如下示例用最常用的方式来使用相对路径引用其他文件。

<script src="Scripts/script.js" type="text/javascript"></script>
<link href="Styles/style.css" rel="stylesheet" type="text/css" />

解决方案发布商自定义前缀会变成您的解决方案内的所有 Web 资源的虚拟根文件夹。 如果您更改自定义前缀,您的 HTML Web 资源内的相对路径将不会更改。

备注

  • 添加到窗体的 HTML Web 资源不能使用被窗体中加载的 JavaScript 库定义的全局对象。 通过使用 parent.Xrm.Pageparent.Xrm.Utility,HTML Web 资源可能同 Xrm.Page 或窗体中的 Xrm.Utility 对象交互,但是无法使用父属性的窗体访问窗体脚本所定义的全局对象。 您应该加载 HTML 所需要的位于 HTML Web 资源内的任何库,因此它们不依赖于加载于窗体的脚本。

  • Web 资源之间的代码所包含的引用不会作为解决方案依赖项加以跟踪。

由于 Web 资源也会被 带脱机访问功能的 Microsoft Dynamics 365 for Microsoft Office Outlook 用户下载,因此用户在脱机工作时,也可以访问 Web 资源内容。

将参数传递到 Web 资源

HTML Web 资源只能接受下表中的参数。

参数

姓名

说明

typename

实体名称

实体的名称。

type

实体类型代码

在特定组织内唯一标识实体的整数。

id

对象 GUID

表示记录的 GUID。

orgname

组织名称

组织的唯一名称。

userlcid

用户语言代码

当前用户使用的语言代码标识符。

orglcid

组织语言代码

表示组织的基本语言的语言代码标识符。

data

可选数据参数

可能会被传递的可选值。

formid

窗体 ID

代表窗体 ID 的 GUID。

entrypoint

入口点

字符串值。 此参数可作为可选值传递到 web 资源(此资源作为实体的自定义帮助内容打开)。 当启用时,自定义帮助 URL 将包括“form”或“hierarchychart”值。详细信息:添加自定义帮助内容

pagemode

仅供内部使用。

安全性

仅供内部使用。

tabSet

仅供内部使用。

若要在数据参数内传递多个值,您必须在数据参数值中对参数进行编码,然后使用脚本在 HTML Web 资源内包含用于对多个参数进行解码的逻辑。示例:通过 Data 参数向 Web 资源传递多个值 专题演示了一种解决传递多个参数值的方法。

另请参阅

Microsoft Dynamics 365 的 Web 资源
创建可访问的 Web 资源
CSS Web 资源
脚本 (JScript) Web 资源
数据 (XML) Web 资源
图像(JPG、PNG、GIF、ICO)Web 资源
Silverlight (XAP) Web 资源
样式表 (XSL) Web 资源

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权