- 浏览: 103500 次
- 性别:
- 来自: 南京
文章分类
最新评论
创建一个自定义的WebPart控件类似与创建自定义服务器控件,其构建的内容包括很多方面:
(1)构造函数
创建自定义的WebPart必须继承自WebPart类,在自定义类的构造函数中对WebPart的固有属性进行设置,如Title、AllowColse等。
(2)行为属性
主要包括重写AllowClose、AllowEdit、AllowConnect等“Allow”类型行为属性。虽然可以在类构造函数中对这些“Allow”类型属性设置默认值,但是通过重写属性可以更好的保护行为属性不被修改。
(3)CreatChildControls、RenderControl和RendContents方法
以上3个方法继承自Control类或者WebControl基类。通过重写这些方法,可以为自定义的WebPart添加子控件、字符串等内容,从而实现自定义WebPart的显示内容、外观和样式等。
(4)自定义操作项
WebPart类本身提供了很多个操作项,如,Close、Edit、Delete等。开发人员可以实现自定义的操作项来增加灵活性,其实现的核心是创建自定义的WebPartVerb对象。
(5)CreatEditorParts方法
如果要在编辑区域中对自定义属性进行编辑,必须实现CreatEditorParts方法。
(6)元数据属性
在自定义类中创建自定义属性的时候,可以在该属性前添加[Personalizable(), WebBrowsable]。Personalizable表示是个性化属性能够持久保存;WebBrowsable表示该属性能够在编辑模型下被用户修改。
实现一个自定义的WebPart:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<%@RegisterTagPrefix="cc1"Namespace="Samples.AspNet.CS.Controls"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<headid="Head1"runat="server">
</head>
<body>
<formid="Form1"runat="server">
<asp:WebPartManagerID="WebPartManager1"runat="server"/>
<asp:WebPartZoneID="WebPartZone1"runat="server"title="Zone1"BorderColor="#CCCCCC"Font-Names="Verdana"Padding="6">
<PartTitleStyleFont-Bold="true"ForeColor="White"BackColor="#5D7B9D"Font-Size="0.8em"/>
<PartStyleBorderWidth="1px"BorderStyle="Solid"BorderColor="#81AAF2"Font-Size="0.8em"ForeColor="#333333"/>
<ZoneTemplate>
<cc1:TextDisplayWebPartrunat="server"ID="textwebpart"Title="TextContentWebPart"AllowClose="False"/>
</ZoneTemplate>
<PartChromeStyleBackColor="#F7F6F3"BorderColor="#E2DED6"Font-Names="Verdana"ForeColor="White"/>
<MenuLabelHoverStyleForeColor="#E2DED6"/>
<EmptyZoneTextStyleFont-Size="0.8em"/>
<MenuLabelStyleForeColor="White"/>
<MenuVerbHoverStyleBackColor="#F7F6F3"BorderColor="#CCCCCC"BorderStyle="Solid"
BorderWidth="1px"ForeColor="#333333"/>
<HeaderStyleFont-Size="0.7em"ForeColor="#CCCCCC"HorizontalAlign="Center"/>
<MenuVerbStyleBorderColor="#5D7B9D"BorderStyle="Solid"BorderWidth="1px"ForeColor="White"/>
<TitleBarVerbStyleFont-Size="0.6em"Font-Underline="False"ForeColor="White"/>
<MenuPopupStyleBackColor="#5D7B9D"BorderColor="#CCCCCC"BorderWidth="1px"Font-Names="Verdana"
Font-Size="0.6em"/>
</asp:WebPartZone>
</form>
</body>
</html>
TextDisplayWebPart.cs在App_Code目录中
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->usingSystem;
usingSystem.Security.Permissions;
usingSystem.Web;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
namespaceSamples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal)]
publicclassTextDisplayWebPart:WebPart
{
privateString_contentText=null;
TextBoxinput;
LabelDisplayContent;
publicTextDisplayWebPart()
{
this.AllowClose=false;
}
[Personalizable(),WebBrowsable]
publicStringContentText
{
get{return_contentText;}
set{_contentText=value;}
}
protectedoverridevoidCreateChildControls()
{
Controls.Clear();
DisplayContent=newLabel();
DisplayContent.BackColor=
System.Drawing.Color.LightBlue;
DisplayContent.Text=this.ContentText;
this.Controls.Add(DisplayContent);
input=newTextBox();
this.Controls.Add(input);
Buttonupdate=newButton();
update.Text="SetLabelContent";
update.Click+=newEventHandler(this.submit_Click);
this.Controls.Add(update);
ChildControlsCreated=true;
}
privatevoidsubmit_Click(objectsender,EventArgse)
{
//Updatethelabelstring.
if(input.Text!=String.Empty)
{
_contentText=input.Text+@"<br/>";
input.Text=String.Empty;
DisplayContent.Text=this.ContentText;
}
}
}
}
效果图:
<script type="text/javascript"> <!-- var theForm = document.forms['Form1']; if (!theForm) { theForm = document.Form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } // --> </script><script src="/WebPart2/WebResource.axd?d=hVGcGlsBwbo_sCVGagOE8Q2&t=632959453400000000" type="text/javascript"></script>
|
发表评论
-
Webpart部件概述
2007-08-05 12:52 690一、什么是Web部件 目前 ... -
创建一个简单的WebPart应用示例
2007-08-05 12:53 704创建WebPart的简单应用并不困难,在创建WebPart简单 ... -
实现WebPart编辑功能
2007-08-05 12:58 769实现WebPart的编辑功能需要用到VS2005提供的Edit ... -
实现WebPart管理功能
2007-08-05 13:00 662实现WebPart管理功能需要用到CatalogZone、De ... -
实现WebPart通信功能
2007-08-05 13:02 716在一个页面中的WebPart控件之间是相互独立的,依赖与它的通 ... -
打包并自动安装SQL数据库
2007-08-05 13:04 585NET平台下WEB应用程序的 ... -
官方水晶报表.NET 应用程序实例下载(C#、Visual C++.NET)
2007-08-05 13:10 617一、数据库连通性 1、cs ... -
Windows mobile Install the Tools
2007-08-23 17:39 577Install Visual Studio 2005 ... -
Windows Mobile中的WebService应用
2007-09-07 15:03 634Web Service对于开发者来说已经不再是一个陌生概念了。 ... -
C#中对文件夹及文件信息的操作
2007-09-10 14:10 537C#中如何判断指定文件或文件夹是否存在? using Sy ... -
DataBinder.Eval用法收集
2007-09-24 17:24 608一、DataBinder.Eval的基本格式 在绑定数据 ... -
使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
2007-09-25 10:15 802绑定到父表 <script type=&quo ... -
水晶报表中动态加载报表字段
2007-10-08 10:01 876usingSystem;usingSystem.Col ... -
日志记录组件[Log4net]详细介绍
2007-10-11 11:52 1464一Log4net简介 Log4net是基于.net开发 ... -
HashMap和Hashtable及HashSet的区别
2008-04-10 12:10 569Hashtable类 Hashtable继承Map接口,实 ...
相关推荐
创建自定义WebPart的步骤如下: 1. **设置开发环境**:确保你已经安装了Visual Studio和SharePoint 2013 SDK。你需要一个SharePoint服务器来进行调试和部署。 2. **创建项目**:在Visual Studio中,选择“文件”>...
- **自定义WebPart**:开发者可以根据需求创建自定义WebPart,通过编程实现特定功能,例如与数据库交互、集成第三方服务等。 **4. WebPart Zone** WebPart Zone是WebPart的容器,它可以包含一个或多个WebPart。Zone...
综上所述,SharePoint WebPart自定义开发涉及到的内容广泛且深入,通过学习和实践,开发者可以创建出满足各种业务需求的定制化WebPart,提升SharePoint平台的工作效率和用户体验。提供的PPT系列文件是学习这一主题的...
- **创建过程**: 开发者通常使用.NET Framework和Visual Studio来创建自定义Web Part,涉及到C#或VB.NET编程,以及XML配置文件的编写。 - **设计界面**: 使用ASP.NET控件和技术来构建Web Part的用户界面,可以包括...
3. **WebPart类型**:可能涵盖了内置的WebPart,如文档库视图、搜索结果、新闻板等,以及如何使用Visual Studio创建自定义WebPart。 4. **WebPart开发**:讲解如何使用.NET Framework和C#进行WebPart开发,包括设计...
这对于SharePoint开发者来说是一个宝贵的资源,他们可以借此学习如何利用SharePoint的API和工具来创建自定义WebPart。 【标签】"WebPart"是关键标签,它强调了这个项目的核心技术。在SharePoint中,WebPart是一种...
- 创建自定义属性通常涉及继承`System.Web.UI.WebControls.WebParts.WebPart`类,并添加新的公共属性。 - 使用`[Personalizable(PersonalizationScope.User)]`属性标记,以使属性在边栏(Web Part Zone)中可配置...
通过研究这些文件,你可以深入学习如何创建自定义WebPart以及如何将它们集成到项目中。 总的来说,掌握WebPart的使用技巧能够极大提升Asp.Net应用的灵活性和用户体验。通过实践和探索,你可以利用WebPart构建出高度...
开发者可以通过Visual Studio创建自定义WebPart,实现特定功能,如数据展示、用户交互等。WebPart可以被添加到页上,通过WebPart连接实现不同WebPart间的通信。 1. 创建WebPart:在Visual Studio中选择"SharePoint...
这些资源可以帮助开发者快速理解和实践WebPart的开发,包括创建自定义WebPart、配置WebPart容器、处理WebPart间交互等步骤。通过研究和学习这个示例,你可以更好地掌握如何在实际项目中应用Fego和WebPart,构建出...
- 自定义开发(Custom Development):包括使用Visual Studio创建自定义WebPart、特性、解决方案,以及对SharePoint对象模型的编程。 熟悉这些SharePoint的基础和高级概念将有助于你在面试中表现出色,展示出对平台...
4. **开发**:SharePoint 2010提供了强大的开发框架,包括Visual Studio插件,支持创建自定义WebPart、列表、内容类型、工作流和服务应用。开发者还可以利用SharePoint的API和.NET Framework扩展平台功能。 5. **...
2. **基于WebPart的开发方式**:另一种可能的方式是通过创建自定义WebPart来集成SmartQuery。WebPart是SharePoint中可重用的、用户可配置的组件。开发者可以在WebPart中集成SmartQuery的相关功能,允许用户在页面上...
通过实践这些教程和案例,开发者可以掌握如何创建自定义的、交互性强的Web部件,提高在SharePoint平台上的开发能力,为企业构建更加灵活和高效的内部信息管理系统。同时,理解WebPart的开发也对深入理解其他Web开发...
WebPart是Microsoft SharePoint平台中的一个重要组成部分,它是构建交互式、可自定义的Web应用程序的关键工具。WebPart教程是初学者了解和掌握WebPart技术的重要学习资源。本教程旨在帮助新手快速入门,理解WebPart...
- "WalkThrough-WebPart5.ppt"可能涵盖了高级主题,如自定义WebPart工具面板或使用Ajax技术增强用户体验。 5. **WebPart设计原则**: - 可重用性:设计的WebPart应具有广泛的适用性,能够在多个SharePoint站点和...
2. **定义WebParts**:创建自定义的WebPart类,继承自System.Web.UI.WebControls.WebParts.WebPart。这些类将包含你想要显示和操作的数据和逻辑。 3. **实现拖放功能**:ASP.NET提供了一些内置的拖放事件,如...
- **分类**: WebPart 可分为内置 WebPart(如文档库、日历)和自定义 WebPart(由开发者创建)。 - **工作原理**: WebPart 在 WebPart 页面上运行,每个 WebPart 包含一个或多个 WebPart 属性,用户可以通过工具区...