ASP.NET 2.0中使用webpart系列控件(3)

发表于:2007-06-30来源:作者:点击数: 标签:
使Webpart动起来 上面设计的webpart还没能动起来,要让webpart动起来的话,必须要将webpar设置为design display 模式。先为webpart添加下面的radiobutton选择框 <ASP:RadioButtonList ID="rblMode" runat="server" AutoPostBack="True"> <asp:ListItem>B
     使Webpart动起来
  
    上面设计的webpart还没能动起来,要让webpart动起来的话,必须要将webpar设置为design display 模式。先为webpart添加下面的radiobutton选择框
  
  <ASP:RadioButtonList ID="rblMode" runat="server" AutoPostBack="True">
   <asp:ListItem>Browse Display Mode</asp:ListItem>
   <asp:ListItem>Design Display Mode</asp:ListItem>
  </asp:RadioButtonList>
  
    并且在code-behind的代码中,写入如下代码:
  
  Protected Sub RadioButtonList1_SelectedIndExchanged(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles rblMode.SelectedIndexChanged
   Select Case rblMode.SelectedIndex
    Case 0 : WebPartManager1.DisplayMode =WebPartManager.BrowseDisplayMode
    Case 1 : WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode
   End Select
  End Sub 
  
    运行上面代码,选择design display mode,则可以象下图那样,自由拖动webpart,
  
  
  
   要注意的是,当移动各webpart的位置后,即使关掉浏览器,下次重新打开时,依然可以看到各个控件保持原来的位置。其实,ASP.NET 2.0是使用在as.netdb.mdf中的一个叫aspnet_PersonalizationPerUser的表来保存数据的,表的结构如下所示:
     
  Field Value
  Id 928e121a-4042-4fb4-9520-21210b9b37c1
  PathId 7c3b5dc0-04d0-48a2-bbb2-2b70286f22fe
  UserId 9bff14df-024f-4bda-9a0a-b4a19ab9e387
  PageSettings <Binary data>
  LastUpdatedDate 10/06/2005 4:44:05 AM
  
    如果想恢复各控件的原来位置,只需要将该数据表中相应的行删除掉就可以了。但有个问题是,如果使用每一个webpart的关闭按钮,则很难再将其恢复(当然删除数据表中的行,但十分麻烦)。在asp.net 2.0中,提供了另一种webpart,叫做catlogzone控件,下面介绍其用法:
  

原文转自:http://www.ltesting.net