总的来说WebPart可以实现自己定制和拖动。
使用的控件
WebPartManager
WebPartZone
显示模式:DisPlayMode
BrowserDisplayMode:正常的显示模式,无法编辑(默认)
DesignDisplayMode:可以拖拽
EditDisplayMode:可以改变外观及行为
CatalogDisplayMode:可以放到其他页面中
ConnectDisplayMode:直接进行通信
事件
DisplayModechanging
DisplayModeChanged
各种不同的Zone
CatalogZone:允许用户添加WebPart,不在WebZone中显示的东西。
EditorZone:允许修改属性和布局
ApperanceEditorPart:修改标题和属性
BehaviorEditorPart:修改行为
LayoutEditorPart:显示状态
PropertyGridEditorPart:定制属性
在ZoneTemplate中加
ConnectionsZone:可以通讯
提供者:
[ConnectionProvider("Zip Code" , "ZipCodeProvider")]
public IZipCode GetZipCodeInterface()
{
return this;
}
public string GetZipCode()
{
return _zip;
}
订阅者
[ConnectionCustomer("Zip Code" , "ZipCodeCustomer")
public void GetZipCodeInterface(IZipCode provider)
{
string zip = provider.GetZipCode();
}
可以实现自动保存和个性化定制造,并且可以使用自己的控件。
[Personalizable]
[Personalizable(PersonalizationScope.Shared)]
总的来说,比较乱。还不太明白,估计要多练。