Web Part初探

   Web Part是vs2005的新控件,它的作用是可以使用户在页面上进行控件的拖放,位置的变化,对控件进行增,删,改,查.

  下面我就说一下如何做一个最简单的Web Part.

  首先,你需要有一个WebPartManager(工具箱里拖),他就相当于一个所有Web Part的管家,可以通过它对Web Part.的模式进行更改,也可以通过它进行Web Part.之间的通讯.

  其次,有了管家后你要在网页上有给服务器控件放的地方,所以你要用到WebPartZone.你把WebPartZone防在网页的什么地方,用户就可以在什么进行拖拉控件等操作.

  然后,你就可以往WebPartZone里放东西了.里面什么都可以放::服务器控件,用户自定义控件,Web自定义控件都可以.现在就该用到WebPartManager了,它有一个非常重要的属性,就是DisplayMode.

(1)BrowseDisplayMode:浏览器模式,是默认值.用户只能看不能对Web Part进行操作.

(2)EditDisplayMode:编辑模式.此模式的运行需要一个EditorZone,然后在EditorZone里可以放AppearanceEditorPart,BehaviorEditorPart,LayoutEditorPart,PropertyGridEditorPart这些控件,他们就是对Web Part进行编辑的控件,可以对Web Part的行为,外观等进行编辑.

(3)DesignDisplayMode:设计模式.在此模式下,用户就可以对控件的位置进行拖放了(在开始定义好的WebPartZone里)

(4)CatalogDisplayMode:目录模式.此模式的运行需要一个CatalogZone,CatalogZone有一个模版列,这个模版列里可以放开发人员预先定义好的控件,在HTML模式下在次模列里的控件加Title="需要显示的目录",然后用户就可以把在CatalogZone里的控件放到WebPartZone里. 

(5)ConnectDisplayMode:通讯模式.此模式可以让Web Part进行通讯.可以有两种通讯,静态和动态的.需要设定好提供者和监听者.

以下是一段简单的代码:

<% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
    
< div >
        
< asp:WebPartManager ID = " WebPartManager1 "  runat = " server " >
        
</ asp:WebPartManager >
    
    
</ div >
        
< asp:WebPartZone ID = " WebPartZone1 "  runat = " server " >
            
< ZoneTemplate >
                
< asp:Label ID = " Label1 "  runat = " server "  Text = " Label " ></ asp:Label >
            
</ ZoneTemplate >
        
</ asp:WebPartZone >
        
< asp:Button ID = " Button3 "  runat = " server "  OnClick = " Button3_Click "  Text = " 换添加模式 "   />
        
< asp:Button ID = " Button4 "  runat = " server "  OnClick = " Button4_Click "  Text = " 换拖拉模式 "   />
        
< asp:Button ID = " Button5 "  runat = " server "  OnClick = " Button5_Click "  Text = " 换编辑模式 "   />
        
< asp:Button ID = " Button6 "  runat = " server "  OnClick = " Button6_Click "  Text = " 正常模式 "   />
        
< asp:Label ID = " Label2 "  runat = " server "  Text = " Label " ></ asp:Label >
        
< asp:WebPartZone ID = " WebPartZone2 "  runat = " server " >
            
< ZoneTemplate >
                
< asp:Calendar ID = " Calendar1 "  runat = " server " ></ asp:Calendar >
            
</ ZoneTemplate >
        
</ asp:WebPartZone >
        
< asp:CatalogZone ID = " CatalogZone1 "  runat = " server " >
            
< ZoneTemplate >
                
< asp:DeclarativeCatalogPart ID = " DeclarativeCatalogPart1 "  runat = " server " >
                    
< WebPartsTemplate >
                        
< asp:Button ID = " Button1 "  runat = " server "  Title = " 按钮 "  Text = " Button "   />
                    
</ WebPartsTemplate >
                
</ asp:DeclarativeCatalogPart >
            
</ ZoneTemplate >
        
</ asp:CatalogZone >
        
< asp:EditorZone ID = " EditorZone1 "  runat = " server " >
            
< ZoneTemplate >
                
< asp:AppearanceEditorPart ID = " AppearanceEditorPart1 "  runat = " server "   />
            
</ ZoneTemplate >
        
</ asp:EditorZone >
        
< asp:ConnectionsZone ID = " ConnectionsZone1 "  runat = " server "  BackColor = " #FFFBD6 "  BorderColor = " #CCCCCC "  BorderWidth = " 1px "  Font - Names = " Verdana "  Padding = " 6 " >
            
< LabelStyle Font - Size = " 0.8em "  ForeColor = " #333333 "   />
            
< FooterStyle BackColor = " #FFCC66 "  HorizontalAlign = " Right "   />
            
< VerbStyle Font - Names = " Verdana "  Font - Size = " 0.8em "  ForeColor = " #333333 "   />
            
< HeaderVerbStyle Font - Bold = " False "  Font - Size = " 0.8em "  Font - Underline = " False "  ForeColor = " #333333 "   />
            
< HeaderStyle BackColor = " #FFCC66 "  Font - Bold = " True "  Font - Size = " 0.8em "  ForeColor = " #333333 "   />
            
< InstructionTextStyle Font - Size = " 0.8em "  ForeColor = " #333333 "   />
            
< EditUIStyle Font - Names = " Verdana "  Font - Size = " 0.8em "  ForeColor = " #333333 "   />
        
</ asp:ConnectionsZone >
    
</ form >
</ body >
</ html >
using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

public   partial   class  _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
  
    }

    
protected void Button2_Click(object sender, EventArgs e)
    
{
        
this.WebPartManager1.DisplayMode = WebPartManager.ConnectDisplayMode;
       
    }

    
protected void Button3_Click(object sender, EventArgs e)
    
{
        
this.WebPartManager1.DisplayMode = WebPartManager.CatalogDisplayMode;
    }

    
protected void Button4_Click(object sender, EventArgs e)
    
{
        
this.WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode;
    }

    
protected void Button5_Click(object sender, EventArgs e)
    
{
        
this.WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode;
    }

    
protected void Button6_Click(object sender, EventArgs e)
    
{
        
this.WebPartManager1.DisplayMode = WebPartManager.BrowseDisplayMode;
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值