Dynamics CRM 2011编程系列(40):Portal的制作(一)
来源:互联网 发布:sql server 2008免费 编辑:程序博客网 时间:2024/05/16 08:15
本博文来聊聊怎么制作Dynamics CRM 2011 系统的Portal吧。制作Portal有两种方式可以供我们选择,它们分别为:1.使用Dynamics CRM 2011 支持的Portal控件;2.直接调用Dynamics CRM 2011 的数据库。
这两种方法各有各的优势,在制作Portal的时候通常都将这两者结合起来一起使用。
咱们先来了解下Dynamics CRM 2011 支持的Portal控件吧。在使用Dynamics CRM 2011支持的Portal控件前,我们先要生成一个早期绑定的数据源,生成该数据源的代码如下:
图1
待工具“crmsvcutil.exe“生成完代码“Xrm.cs”后按如下步骤将它添加到Portal站点项目中。
图2
图3 为portal项目添加程序集引用
修改Portal站点Web.config文件如下:
<configuration><configSections><section name="microsoft.xrm.client" type="Microsoft.Xrm.Client.Configuration.CrmSection,Microsoft.Xrm.Client"/></configSections><system.web><compilation debug="true" targetFramework="4.0"><assemblies><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation><pages><controls><add tagPrefix="crm" namespace="Microsoft.Xrm.Portal.Web.UI.WebControls" assembly="Microsoft.Xrm.Portal"/></controls></pages></system.web><connectionStrings><add name="Xrm" connectionString="Server=http://192.168.0.30:8110/test;Domain=crm;Username=administrator;Password=Pa$$w0rd"/></connectionStrings><microsoft.xrm.client><contexts><add name="Xrm" type="Xrm.XrmServiceContext,App_Code"></add></contexts></microsoft.xrm.client><system.serviceModel><serviceHostingEnvironment aspNetCompatibilityEnabled="true"/></system.serviceModel></configuration>
至此Portal的框架已经搭建完毕,现在我们来看看Dynamics CRM为我们提供了哪些数据显示控件:
LinqDataSource
Aspx代码
<asp:LinqDataSource ID="Contacts" ContextTypeName="Xrm.XrmServiceContext" TableName="ContactSet" runat="server" /><asp:GridView ID="GridView1" DataSourceID="Contacts" AutoGenerateColumns="false" runat="server"> <Columns> <asp:TemplateField HeaderText="First Name"> <ItemTemplate> <asp:Label ID="Label1" Text='<%# Eval("firstname")%>' runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Last Name"> <ItemTemplate> <asp:Label ID="Label2" Text='<%# Eval("lastname")%>' runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="City"> <ItemTemplate> <asp:Label ID="Label3" Text='<%#Eval("address1_city") %>' runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns></asp:GridView>
显示效果
CrmMetadataDataSource
Aspx代码
<crm:CrmMetadataDataSource ID="PriorityCodes" runat="server" EntityName="campaign" AttributeName="typecode" /><asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="PriorityCodes" DataTextField="OptionLabel" DataValueField="OptionValue" />
显示效果
SavedQueryDataSource
Aspx代码
<crm:SavedQueryDataSource ID="ActiveContacts" SavedQueryName="可用联系人" runat="server" /><asp:GridView ID="GridView2" DataSourceID="ActiveContacts" AutoGenerateColumns="true" runat="server"></asp:GridView>
显示效果
XrmServiceContext
Aspx代码
<asp:GridView runat="server" ID="ContactsGridView" AutoGenerateColumns="false"> <Columns> <asp:TemplateField HeaderText="First Name"> <ItemTemplate> <asp:Label ID="Label1" Text='<%# Eval("firstname")%>' runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Last Name"> <ItemTemplate> <asp:Label ID="Label2" Text='<%# Eval("lastname") %>' runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="City"> <ItemTemplate> <asp:Label ID="Label3" Text='<%# Eval("address1_city") %>' runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns></asp:GridView>
Aspx.cs代码
var xrm = new Xrm.XrmServiceContext("Xrm"); var exampleContacts = xrm.ContactSet; ContactsGridView.DataSource = exampleContacts; ContactsGridView.DataBind();
显示效果
小结
由于找不到程序集“AntiXssLibrary ”的4.0版本,所以2个控件没能正常使用。它们分别是“使用Fetch来过滤数据源的CrmDataSource控件”和“CrmEntityFormView ”。
大家要是能找到这个程序集可以发给我。(:D)
- Dynamics CRM 2011编程系列(40):Portal的制作(一)
- Dynamics CRM 2011编程系列(41):Portal的制作(二)
- Dynamics CRM 2011编程系列(34):报表的制作(一)
- Dynamics CRM 2011编程系列(49):FetchExpression(一)
- Dynamics CRM 2011编程系列(35):报表的制作(二)
- Dynamics CRM 2011编程系列(36):报表的制作(三)
- Dynamics CRM 2011编程系列(43):JavaScript 的调试
- Dynamics CRM 2011 编程系列(31):Ribbon的开发一(添加按钮,选项卡,Jewel)
- Dynamics CRM 2011编程系列(55):Dynamics CRM 集成开发简述
- Dynamics CRM 2011 编程系列(11):JS编程之征服表单控件(一)
- Dynamics CRM 2011 编程系列(5):JS脚本编程之实战一
- Dynamics CRM 2011编程系列(39):Ribbon Button + GhostHook
- Dynamics CRM 2011编程系列(54):MagicBox实现原理
- Dynamics CRM 2011编程系列
- Dynamics CRM 2011编程系列
- Dynamics CRM 2011 编程系列 (6):JS脚本编程之实体的CRUD[Create,Read]
- Dynamics CRM 2011 编程系列(7):JS编程之实体的CRUD[Update,Delete]
- Dynamics CRM 2011 编程系列(14):JS编程之表单控件的执行上下文
- javascript数组与数值
- Pentaho 连接mysql错误问题的解决
- Oracle基础学习笔记(3)
- Android中EditText属性
- poj 2251 Dungeon Master
- Dynamics CRM 2011编程系列(40):Portal的制作(一)
- Ajax的简单介绍
- DirectShow 注册 filter
- Dynamics CRM 2011编程系列(41):Portal的制作(二)
- 【线段树】 hdu4107 Gangster
- Ext 4.0 MVC详解
- 关于hive中文本存储格式与RCFile格式
- 如果修改host后没有即刻生效,可使用终端命令手动清除DNS缓存:
- poj 1321 棋盘问题