您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0使用Web Part创建应用程序之二(共二)

2005-11-22 23:09 786 查看
1.Web Part 通讯
Web Parts可以相互通讯,提供者发布接口,订阅者通过接口获得数据,WebPartManager 管理通讯,从提供者获得接口,向订阅者发布接口,通讯可以是静态的,也可以是动态的,ConnectionsZone 提供后期绑定的UI
通讯提供者
实现方法返回接口,方法特性 [ConnectionProvider]

[ConnectionProvider ("Zip Code", "ZipCodeProvider")]
public IZipCode GetZipCodeInterface ()

// IZipCode.GetZipCode implementation
public string GetZipCode ()
[ConnectionConsumer ("Zip Code", "ZipCodeConsumer")]
public void GetIZipCodeInterface (IZipCode provider)
<asp:Connection>的实例
<asp:WebPartManager ID="WebPartManager1" Runat="server">
<StaticConnections>
<asp:Connection ID="ZipCodeConnection" Runat="server"
ProviderID="Weather1" ProviderConnectionPointID="ZipCodeProvider"
ConsumerID="News1" ConsumerConnectionPointID="ZipCodeConsumer" />
</StaticConnections>
</asp:WebPartManager>2.ConnectionsZone 控件
提供供Web Part进行通讯的UI,最终用户,而不是开发人员创建通讯关系

<asp:ConnectionsZone ID="ConnectionsZone1"
Runat="server" />3.Web Parts 个性化
Web Parts 个性化服务
自动保存相关Web Part的属性 (布局, 外观等等),自动保存标记为 PersonalizableAttribute的定制属性
PersonalizationAdministration 类提供个性化服务的API,Provider-based for flexible data storage
Per-User 个性化,[Personalizable] 为每位用户保存定制属性,string _stocks; // e.g., "MSFT,INTC,AMZN"

[WebBrowsable]
[Personalizable]
public string Stocks

Shared Personalization
[Personalizable (PersonalizationScope.-Shared)] persists properties on shared basis
string _stocks; // e.g., "MSFT,INTC,AMZN"

[WebBrowsable]
[Personalizable (PersonalizationScope.Shared)]
public string Stocks
个性化服务是基于Provider模式

使用 SQL Server Provider
<configuration>
<system.web>
<webParts>
<personalization defaultProvider="AspNetSqlPersonalizationProvider" />
</webParts>
</system.web>
</configuration>4 定制Web Parts
增加自定义操作

public class MyWebPart : WebPart
public class MyWebPart : WebPart
public class MyWebPart : WebPart
{
public MyWebPart ()
{
ExportMode = WebPartExportMode.NonSensitiveData;
}

// This property will be exported
[Personalizable (PersonalizationScope.User, false)]
public string ZipCode
{ }

// This one will not
[Personalizable (PersonalizationScope.User, true)]
public string SocialSecurityNumber
{ }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: