如何改进用户控件和 WebParts框架之间的融合

转帖|其它|编辑:郝浩|2010-07-02 14:00:29.000|阅读 713 次

概述:本文将介绍如何改进用户控件和ASP.NET WebParts框架之间的融合,从而向ASP.NET程序员证明用户控件是一种能够启动自定义页面执行的简单方法。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  为了创建一个能让用户从目录中选择报告,笔者利用了ASP.NET中的WebParts框架,而不是选择创建一个真正的WebPart,笔者所用的是ASP.NET程序员都能理解的工具:用户控件。

  不过笔者的方案并不完善。虽然真正的WebPart显示的是描述性信息,但是用户控件却不是。此外,笔者还没有解决设定用户控件值以实现自定义WebPart的问题。

  在自定义报告控制板上,这些性能都会显得十分有用。在可得的用户控件目录中,每个用户控件都能够显示一点,这样用户就更容易明白报告内容。另外,真正的WebPart会让用户提供输入值以自定义报告。例如,默认报告或许会显示所有区域的销售情况,而用户可以自定义报告以便只显示用户真正需要看到的部分。

  这些选项即便是在使用用户控件的时候也都能获得。

  执行描述

  将用户控件作为WebPart使用的第一步是让它执行 ︳WebPart界面,如下所示:

  Partial Class AnnualSalesReportUserControl

  Inherits System.Web.UI.UserControl

  Implements IWebPart

  这一更改所带来的改变是为用户控件增加了六个属性,分别是:Title,Subtitle,Description,TitleUrl,CataloglconlmageUrl和TitleIconImageUrl。其中前四个属性是最容易执行的属性,因为他们只要求一个字符串值。在许多方面,Title和Subtitle是最重要的属性,因为他们能被自动显示到WebForm或WebPart上,或者是当控件显示到目录时被自动显示。

  用户可以改变Title属性并将其作为自定义WebPart操作的一部分,但是Subtitle属性是固定的。基于这种差异,你应该用Subtitle属性对需要用户执行的自定义WebPart进行单独描述。Title属性应该有预设值能反应报告的默认设定。默认情况下,销售报告显示了所有地区的销售情况但是可以让用户选择指定的季节,那么好的Title可以是"Sales Report"。执行这些设定需要这些代码:

      Private _title As String = "All Regions"

  Public ReadOnly Property Subtitle() As String _

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

  Get

  Return "Sales Report"

  End Get

  End Property

  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

  执行自定义

  下一步是让用户自定义用户控件的工作方式。对于一份报告,这或许意味着让用户设置发送到报告选择标准的参数。报告的默认参数可以是一个星号,但是纵观所有属性用户可能被允许使用某一特定区域。

  你只需要创建接受该区域的属性,然后为其添加Personalizable和WebBrowsable属性,如下所示:

      Private _region As String = "*"

  < Personalizable(True) > _

  < WebBrowsable()> _

  Public Property Region() As String

  Get

  Return _region

  End Get

  Set(ByVal value As String)

  _region = value

  RegenerateReport(_region)

  End Set

  End Property

  

  仅是添加个性化属性还不够,你还要为页面添加控件,这样可以让用户设定相应的属性。需要两个控件:第一个是从工具箱的WebParts标签中向页面添加EditorZone,然后你需要往这一区域中添加PropertyGridEditorPart。

  最后,要让用户把控件放到编辑模式中。要做到这一点,首先要向页面中添加一个按钮,按钮为菜单控件提供了编辑选项,如此,WebPart框架就可以添加用户控件了。添加按钮的代码如下所示:

  Me.WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode

  现在,当用户需要自定义WebPart/User Control时,可以点击按钮并选择用户控件里菜单中的编辑选项。完成这些操作以后,PropertyGridEditorPart会出现在页面,并与标记为自定义属性的控件一起存在。用户可以输入数值来控制WebPart。ASP.NET的WebPart框架会节省设置以便用户下次浏览页面时使用。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP