科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ASP.NET 2.0 Web Part编程之定制Web Part(3)

ASP.NET 2.0 Web Part编程之定制Web Part(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中,我们先简单回顾一下ASP.NET Web Parts的粗略架构;然后,我们着手创建一个定制的Web Part控件,从而领略一下ASP.NET 2.0为进一步扩展创建定制服务器控件的技术。

作者:朱先忠 来源:51CTO.com 2007年9月2日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

(二)第二种方法—用户控件+实现IWebPart接口

 

下面,我们将集中讨论第二种途径—构建UserControl风格的Web Part。我们可以通过创建一个ASP.NET用户控件并实现IWebPart接口来创建一个用户Web Part。列表2展示了一个实现了IWebPart接口的Web Part类的框架。

 

列表2—以实现IWebPart接口途径创建的用户Web Part典型代码

 

Class myWebUserControl

Inherits System.Web.UI.UserControl

Implements IWebPart

Private _CatalogIconImageUrl As String = "images/5PointStar.gif"

Public Property CatalogIconImageUrl() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.CatalogIconImageUrl

Get

Return _CatalogIconImageUrl

End Get

Set(ByVal value As String)

_CatalogIconImageUrl = value

End Set

End Property

'描述

Private _Description As String = "【定制Web Part】"

Public Property Description() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.Description

Get

Return _Description

End Get

Set(ByVal value As String)

_Description = value

End Set

End Property

'副标题

Private _Subtitle As String = ""

Public ReadOnly Property Subtitle() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.Subtitle

Get

Return _Subtitle

End Get

End Property

'标题

Private _Title As String = "【我的定制Web Part】"

Public Property Title() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.Title

Get

Return _Title

End Get

Set(ByVal value As String)

_Title = value

End Set

End Property

' TitleIconImageUrl

Private _TitleIconImageUrl As String = "images/5PointStar.gif"

Public Property TitleIconImageUrl() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.TitleIconImageUrl

Get

Return (_TitleIconImageUrl)

End Get

Set(ByVal value As String)

_TitleIconImageUrl = value

End Set

End Property

' TitleUrl

Private _TitleUrl As String = "http://www.example.com"

Public Property TitleUrl() As String Implements

System.Web.UI.WebControls.WebParts.IWebPart.TitleUrl

Get

Return _TitleUrl

End Get

Set(ByVal value As String)

_TitleUrl = value

End Set

End Property

End Class

 

接下来,我们需要在我们的定制用户控件上添加可视化元素。在本示例中,我们将添加三个文本框—它们结合在一起形成我们的定制控件;当然,你也可以使用任何其它ASP.NET控件。

 

【提示】尽管这是一个Web Part,但是,它本质上还是一个ASP.NET用户控件;所以,你可以在此封装你想实现的任何功能。

 

现在,对于该控件中的每一个用户接口部件—我们想使终端用户在运行时刻能够配置它们。为此,我们必须在此控件中定义一个布尔指示器,用于根据用户的选择决定是否应该显示该元素。

 

于是,每一个部件看起来具有如下形式:

 

Protected _PropertyONE As Boolean = True


WebDisplayName("显示第一项内容"), _

WebDescription("使用该属性来显示/隐藏第一项内容")> _

Public Property PropertyONE() As Boolean

Get

Return _PropertyONE

End Get

Set(ByVal value As Boolean)

_PropertyONE = value

End Set

End Property

 

【注意】这里的属性被标记为“Personalizable”。借助于这个系统提供的属性,在修改该属性时,属性的状态将会被自动地保存。另外,该属性还被标记为“WebBrowsable”;这样以来,我们就可以在一个类似于PropertyGridEditorPart(这个控件与AppearanceEditorPartBehaviorEditorPartLayoutEditorPart控件及它们共同的容器控件EditorZone共同构成个性化Web Part页面的“五剑客”)的设计器中修改它。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章