MOSS2007基础:Windows SharePoint Services 3.0中的Web Part

本文探讨了在WSS3.0中使用Web部件页的方法,介绍了老的WSS风格WebPart与新的ASP风格WebPart的区别,并详细解释了如何在WSS3.0中构建Web部件页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发人员扩展WSS 2.0站点的最常使用的方式就是开发自定义的Web部件。Web部件绝对是一个伟大的发明,因为她可以允许我们随意在页面里增加用户自定义的元素或实现个性化。因此,已经有很多MS或第三方公司开发了许多基于WSS 2.0的自定义Web部件。
因为WSS 2.0中Web部件的成功,所以MS才决定在ASP.NET 2.0中增加对开发自定义Web部件的支持。这使得更多的开发人员可以在他们的ASP.NET应用中使用这一出色的特性,而且完全可以脱离WSS 2.0环境。
因此,现在有两种不同的Web部件。老的WSS风格的WebPart依赖于Microsoft.SharePoint.dll,必须继承自WSS 2.0所定义的WebPart基类,其命名空间为Microsoft.SharePoint.WebPartPages。新的ASP风格WebPart依赖于System.Web.dll,必须继承自不同的一个由ASP.NET 2.0定义的WebPart基类,其命名空间为System.Web.UI.WebControls.WebParts。
有一个大家听了绝对高兴的消息。在WSS 3.0中既可以使用老的WSS风格的WebPart,又可以使用新的ASP风格WebPart。这是通过将WSS 3.0支持的WebPart建立在顶层的ASP.NET Web Part结构基础上,重新编写Microsoft.SharePoint.dll而实现的。这样WSS 3.0运行时环境将兼容专为WSS 2.0编写的WebPart。
为了向大家解释WebPart如何载入并在WSS 3.0中运行,下面将讨论一下WSS 3.0是如何被重新在ASP.NET 2.0的WebPart基础上设计构建的。我将深入WSS 3.0内部,看看它的Web部件页是如何组织的。接下来的日志中我们再研究在WSS 3.0中开发自定义WebPart的细节。(敬请关注)
想要在一个ASP.NET 2.0的应用中使用WebPart,我们必须创建一个.aspx页面并包括一个WebPartManager控件和至少一个WebPartZone控件。WebPartManager控件负责将WebPart相关的数据序列化,进而实现存取。要知道,所有的这些数据都是要进入ASP.NET服务的数据库的。
该.aspx页面作为一个Web部件页也可以包括Editor Parts,它将允许用户对WebPart进行定制和个性化WebPart属性。也可以包括一个Catalog Parts,它将允许用户添加新的WebPart到Web部件区域中。如果希望了解更多关于ASP.NET 2.0种内功个性化和自定义WebPart的内容,您可以参考msdn。(http://msdn.microsoft.com/msdnmag/issues/05/09/WebParts)
在WSS 3.0中的WebPart是架构在一个名为SPWebPartManager的控件基础上的,它本身源于ASP.NET 2.0的WebPartManager控件。SPWebPartManager控件重写了WebPartManager控件的许多标准方法,使得WebPart数据存到WSS的内容数据库中,而不是ASP.NET的服务数据库中。当然,通常情况下我们并不需要关心这些。只要交给SPWebPartManager控件处理就可以了,而且这个并且这仅需的一个控件实例已经包括到母版页default.master中了,我们的创建的内容页面都已继承了该母版。
其他几个典型的WSS 3.0Web部件页中的控件包括Web Part zones,Editor Parts和Catalog Parts。需要注意的是,在WSS 3.0Web部件页中使用的Web Part zones必须用由Microsoft.SharePoint.WebPartPages命名空间定义的WebPartZone控件来创建,而不是标准的ASP.NET 2.0中的WebPartZone控件。
WebPartZone控件的实例通常在内容页面中来定义。下面的示例代码显示了如何创建一个内容页面,并设计其成为一个WSS 3.0站点中的Web部件页。可以看到,该.aspx页面链接到default.master,同时它继承自WebPartPage基类,在占位符PlaceHolderMain中包括了两个WebPartZone控件。

<% @AssemblyName = " [Microsoft.SharePoint.dll的完全限定名称] " %>
<% Pagelanguage = " c# " MasterPageFile = " ~masterurl/default.master " Inherits = " Microsoft.SharePoint.WebPartPages.WebPartPage " %>
<% @RegisterTagprefix = " WebPartPages " Namespace = " Microsoft.SharePoint.WebPartPages " Assembly = " [Microsoft.SharePoint.dll的完全限定名称] " %>

< asp:Content ContentPlaceHolderId ="PlaceHolderMain" runat ="server" >
< h3 > 我的自定义Web部件页 </ h3 >
< table border ="0" cellpadding ="3" cellspacing ="0" >
< tr >
< td valign ="top" >
< WebPartPages:WebPartZone runat ="server" ID ="Left" Title ="左侧区域" />
</ td >
< td valign ="top" >
< WebPartPages:WebPartZone runat ="server" ID ="Right" Title ="右侧区域" />
</ td >
</ tr >
</ table >
</ asp:Content >

当我们创建一个标准的ASP.NET 2.0应用程序中的Web部件页时,我们必须添加与WebPartManager控件交互的逻辑,用来管理WebPart显示的模式。通常情况下,我们还需要明确添加Editor Parts和Catalog Parts到页面的HTML布局中并做相应的调整。但如果在WSS 3.0站点的内容页面里,我们就不必做这些事情了。我们只要从Microsoft.SharePoint.WebPartPages命名空间中继承WebPartPage类,所以这些事都交给它在后台完成就好了。当用户进入页面编辑模式后,Editor Parts或Catalog Parts就会自动出现在右侧,供用户来添加WebPart到Web部件区域或更改已有的WebPart属性。

内容概要:本文档定义了一个名为 `xxx_SCustSuplier_info` 的视图,用于整合和展示客户(Customer)和供应商(Supplier)的相关信息。视图通过连接多个表来获取组织单位、客户账户、站点使用、位置、财务代码组合等数据。对于客户部分,视图选择了与账单相关的记录,并提取了账单客户ID、账单站点ID、客户名称、账户名称、站点代码、状态、付款条款等信息;对于供应商部分,视图选择了有效的供应商及其站点信息,包括供应商ID、供应商名称、供应商编号、状态、付款条款、财务代码组合等。视图还通过外连接确保即使某些字段为空也能显示相关信息。 适合人群:熟悉Oracle ERP系统,尤其是应付账款(AP)和应收账款(AR)模块的数据库管理员或开发人员;需要查询和管理客户及供应商信息的业务分析师。 使用场景及目标:① 数据库管理员可以通过此视图快速查询客户和供应商的基本信息,包括账单信息、财务代码组合等;② 开发人员可以利用此视图进行报表开发或数据迁移;③ 业务分析师可以使用此视图进行数据分析,如信用评估、付款周期分析等。 阅读建议:由于该视图涉及多个表的复杂连接,建议读者先熟悉各个表的结构和关系,特别是 `hz_parties`、`hz_cust_accounts`、`ap_suppliers` 等核心表。此外,注意视图中使用的外连接(如 `gl_code_combinations_kfv` 表的连接),这可能会影响查询结果的完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值