`

创建自定义的WebPart

    博客分类:
  • net
 
阅读更多

创建一个自定义的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:

Default.aspx
<!--<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目录中

TextDisplayWebPart.cs
<!--<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&amp;t=632959453400000000" type="text/javascript"></script>

Text Content WebPart u
33339
分享到:
评论

相关推荐

    如何在sharepoint2013里制作自定义webpart

    创建自定义WebPart的步骤如下: 1. **设置开发环境**:确保你已经安装了Visual Studio和SharePoint 2013 SDK。你需要一个SharePoint服务器来进行调试和部署。 2. **创建项目**:在Visual Studio中,选择“文件”&gt;...

    SharePoint_WebPart_入门指南(全)

    - **自定义WebPart**:开发者可以根据需求创建自定义WebPart,通过编程实现特定功能,例如与数据库交互、集成第三方服务等。 **4. WebPart Zone** WebPart Zone是WebPart的容器,它可以包含一个或多个WebPart。Zone...

    Sharepoint webpart 自定义开发(很详细)

    综上所述,SharePoint WebPart自定义开发涉及到的内容广泛且深入,通过学习和实践,开发者可以创建出满足各种业务需求的定制化WebPart,提升SharePoint平台的工作效率和用户体验。提供的PPT系列文件是学习这一主题的...

    自定义webpart

    - **创建过程**: 开发者通常使用.NET Framework和Visual Studio来创建自定义Web Part,涉及到C#或VB.NET编程,以及XML配置文件的编写。 - **设计界面**: 使用ASP.NET控件和技术来构建Web Part的用户界面,可以包括...

    SharePoint WebPart入门教程 PPT

    3. **WebPart类型**:可能涵盖了内置的WebPart,如文档库视图、搜索结果、新闻板等,以及如何使用Visual Studio创建自定义WebPart。 4. **WebPart开发**:讲解如何使用.NET Framework和C#进行WebPart开发,包括设计...

    图片库轮显WebPart源码

    这对于SharePoint开发者来说是一个宝贵的资源,他们可以借此学习如何利用SharePoint的API和工具来创建自定义WebPart。 【标签】"WebPart"是关键标签,它强调了这个项目的核心技术。在SharePoint中,WebPart是一种...

    sharepoint 2010 扩展webpart自定义属性边栏字段

    - 创建自定义属性通常涉及继承`System.Web.UI.WebControls.WebParts.WebPart`类,并添加新的公共属性。 - 使用`[Personalizable(PersonalizationScope.User)]`属性标记,以使属性在边栏(Web Part Zone)中可配置...

    WebPart使用技巧

    通过研究这些文件,你可以深入学习如何创建自定义WebPart以及如何将它们集成到项目中。 总的来说,掌握WebPart的使用技巧能够极大提升Asp.Net应用的灵活性和用户体验。通过实践和探索,你可以利用WebPart构建出高度...

    sharepoint2007 教程

    开发者可以通过Visual Studio创建自定义WebPart,实现特定功能,如数据展示、用户交互等。WebPart可以被添加到页上,通过WebPart连接实现不同WebPart间的通信。 1. 创建WebPart:在Visual Studio中选择"SharePoint...

    构建和谐Web2.0系列(3)

    这些资源可以帮助开发者快速理解和实践WebPart的开发,包括创建自定义WebPart、配置WebPart容器、处理WebPart间交互等步骤。通过研究和学习这个示例,你可以更好地掌握如何在实际项目中应用Fego和WebPart,构建出...

    Moss 2007 2010 面试题

    - 自定义开发(Custom Development):包括使用Visual Studio创建自定义WebPart、特性、解决方案,以及对SharePoint对象模型的编程。 熟悉这些SharePoint的基础和高级概念将有助于你在面试中表现出色,展示出对平台...

    SharePoint 2010相关文档

    4. **开发**:SharePoint 2010提供了强大的开发框架,包括Visual Studio插件,支持创建自定义WebPart、列表、内容类型、工作流和服务应用。开发者还可以利用SharePoint的API和.NET Framework扩展平台功能。 5. **...

    moss_smartQuery_Demo

    2. **基于WebPart的开发方式**:另一种可能的方式是通过创建自定义WebPart来集成SmartQuery。WebPart是SharePoint中可重用的、用户可配置的组件。开发者可以在WebPart中集成SmartQuery的相关功能,允许用户在页面上...

    webpart开发学习资料

    通过实践这些教程和案例,开发者可以掌握如何创建自定义的、交互性强的Web部件,提高在SharePoint平台上的开发能力,为企业构建更加灵活和高效的内部信息管理系统。同时,理解WebPart的开发也对深入理解其他Web开发...

    webpart教程 初学webpart的好帮手

    WebPart是Microsoft SharePoint平台中的一个重要组成部分,它是构建交互式、可自定义的Web应用程序的关键工具。WebPart教程是初学者了解和掌握WebPart技术的重要学习资源。本教程旨在帮助新手快速入门,理解WebPart...

    WebPart开发

    - "WalkThrough-WebPart5.ppt"可能涵盖了高级主题,如自定义WebPart工具面板或使用Ajax技术增强用户体验。 5. **WebPart设计原则**: - 可重用性:设计的WebPart应具有广泛的适用性,能够在多个SharePoint站点和...

    模块拖拽WebPart实现

    2. **定义WebParts**:创建自定义的WebPart类,继承自System.Web.UI.WebControls.WebParts.WebPart。这些类将包含你想要显示和操作的数据和逻辑。 3. **实现拖放功能**:ASP.NET提供了一些内置的拖放事件,如...

    SharePoint 2013 WebPart Demo

    - **分类**: WebPart 可分为内置 WebPart(如文档库、日历)和自定义 WebPart(由开发者创建)。 - **工作原理**: WebPart 在 WebPart 页面上运行,每个 WebPart 包含一个或多个 WebPart 属性,用户可以通过工具区...

Global site tag (gtag.js) - Google Analytics