- 浏览: 105369 次
- 性别:
- 来自: 南京
文章分类
最新评论
实现WebPart的编辑功能需要用到VS2005提供的EditorZone控件和EditorPart系列控件。EditorPart系列控件包括AppearanceEditorPart、BehaviorEditorPart、LayoutEditorPart、PropertyGridEditPart。
要实现WebPart的编辑功能需要几个条件:(1)用户处于共享页面范围(2)显示模式为编辑模式。
对于(1)来说,只要在Web.config文件中配置一下就OK了。
<allowusers="Tom"verbs="enterSharedScope"/> 表示用户名"Tom" 被授权共享页面范围,否则切换成编辑模式会报错。
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><?xmlversion="1.0"?>
<configurationxmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings/>
<system.web>
<compilationdebug="true"/>
<authorization>
<denyusers="?"></deny>
</authorization>
<authenticationmode="Forms">
<formsloginUrl="Login.aspx"></forms>
</authentication>
<webParts>
<personalization>
<authorization>
<allowusers="Tom"verbs="enterSharedScope"/>
</authorization>
</personalization>
</webParts>
</system.web>
</configuration>
对于(2),在页面中添加2个LinkButton,在cs文件中切换一下显示模式,也可以用DropDownList来实现。
EditorPart系列控件中的BehaviorEditorPart、PropertyGridEditPart需要特别说明一下。
BehaviorEditorPart控件看名字也知道大概能做什么了,它在默认情况下可能不会显示出来,实现这个控件需要2个步骤:一、配置Web.config文件,方法上面已经说了,二、以编程的方式将页从用户级别改为共享级别,可以通过使用ToggleScope方法实现。
PropertyGridEditPart:是对自定义属性的修改。
在EditorPart中实现折叠的功能
利用Css和JavaScript脚本来实现。初始情况下,让LEGEND的显示“+”号,并隐藏区块中的内容,通过Click“+”号改变Css。
示例代码如下:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default2.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">
<linkhref="StyleSheet.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript">
//为每个className值为'EditorPartTitle'的标题头创建onclick处理程序
functionCreateExpandingTitles()
{
varelements=document.getElementsByTagName("LEGEND");
for(i=0;i<elements.length;i++)
{
if(elements[i].className&&elements[i].className=="EditorPartTitle")
{
elements[i].onclick=newFunction("toggle(this);");
}
}
}
//在onload发生时,调用CreateExpandingTitles方法
if(window.addEventListener)
{
window.addEventListener('load',CreateExpandingTitles,false);
}
elseif(window.attachEvent)
{
window.attachEvent('onload',CreateExpandingTitles);
}
//单击事件处理程序
functiontoggle(titleElement)
{
varfirstChild=(titleElement.nextSibling.childNodes[0].id)
?titleElement.nextSibling.childNodes[0]
:titleElement.nextSibling.childNodes[1];
//设置图片显示及显示状态
if(firstChild.style.display=="block")
{
firstChild.style.display="none";
titleElement.style.backgroundImage="url(images/plus.gif)";
}
else
{
firstChild.style.display="block";
titleElement.style.backgroundImage="url(images/minus.gif)";
}
}
</script>
</head>
<body>
<formid="Form1"runat="server">
<asp:WebPartManagerID="WebPartManager1"runat="server"/>
<asp:LinkButtonID="LinkButton1"runat="server"Text="浏览模式(BrowseMode)|"OnClick="LinkButton1_Click"
CssClass="commonText"></asp:LinkButton>
<asp:LinkButtonID="LinkButton2"runat="server"Text="编辑模式(EditMode)"OnClick="LinkButton2_Click"
CssClass="commonText"></asp:LinkButton>
<tableborder="0"cellpadding="0"cellspacing="0"style="width:547px;height:172px">
<tr>
<tdstyle="width:268px"valign="top">
<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>
</td>
<tdstyle="width:204px">
<asp:EditorZoneID="EditorZone1"runat="server"BackColor="#EFF3FB"BorderColor="#CCCCCC"
BorderWidth="1px"Font-Names="Verdana"Padding="6">
<HeaderStyleBackColor="#D1DDF1"Font-Bold="True"Font-Size="0.8em"ForeColor="#333333"/>
<LabelStyleFont-Size="0.8em"ForeColor="#333333"/>
<HeaderVerbStyleFont-Bold="False"Font-Size="0.8em"Font-Underline="False"ForeColor="#333333"/>
<PartChromeStyleBorderColor="#D1DDF1"BorderStyle="Solid"BorderWidth="1px"/>
<ZoneTemplate>
<asp:AppearanceEditorPartID="AppearanceEditorPart1"runat="server"CssClass="EditorPartHidden"/>
<asp:BehaviorEditorPartID="BehaviorEditorPart1"runat="server"CssClass="EditorPartHidden"/>
<asp:LayoutEditorPartID="LayoutEditorPart1"runat="server"CssClass="EditorPartHidden"/>
<asp:PropertyGridEditorPartID="PropertyGridEditorPart1"runat="server"CssClass="EditorPartHidden"/>
</ZoneTemplate>
<PartStyleBorderColor="#EFF3FB"BorderWidth="5px"/>
<FooterStyleBackColor="#D1DDF1"HorizontalAlign="Right"/>
<EditUIStyleFont-Names="Verdana"Font-Size="0.8em"ForeColor="#333333"/>
<InstructionTextStyleFont-Size="0.8em"ForeColor="#333333"/>
<ErrorStyleFont-Size="0.8em"/>
<VerbStyleFont-Names="Verdana"Font-Size="0.8em"ForeColor="#333333"/>
<EmptyZoneTextStyleFont-Size="0.8em"ForeColor="#333333"/>
<PartTitleStyleFont-Bold="True"Font-Size="0.8em"ForeColor="#333333"CssClass="EditorPartTitle"/>
</asp:EditorZone>
</td>
</tr>
</table>
</form>
</body>
</html>
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidLinkButton1_Click(objectsender,EventArgse)
{
//进入浏览模式
WebPartManager1.DisplayMode=WebPartManager.BrowseDisplayMode;
}
protectedvoidLinkButton2_Click(objectsender,EventArgse)
{
//调用ToogleScope方法,修改页面个性化范围
if(WebPartManager1.Personalization.Scope!=PersonalizationScope.Shared)
{
WebPartManager1.Personalization.ToggleScope();
}
//进入编辑模式
WebPartManager1.DisplayMode=WebPartManager.EditDisplayMode;
}
}
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->body
{}{
}
.mainTitle
{}{
font-size:12pt;
font-weight:bold;
font-family:宋体;
}
.commonText
{}{
font-size:10pt;
font-family:宋体;
text-decoration:none;
}
.littleMainTitle
{}{
font-size:10pt;
font-weight:bold;
font-family:宋体;
}
.EditorPartHidden
{}{
display:none;
}
.EditorPartTitle
{}{
background-position:left;
background-repeat:no-repeat;
background-image:url(images/plus.gif);
cursor:pointer;
padding-left:14px;
}
效果图:
发表评论
-
Webpart部件概述
2007-08-05 12:52 695一、什么是Web部件 目前 ... -
创建一个简单的WebPart应用示例
2007-08-05 12:53 709创建WebPart的简单应用并不困难,在创建WebPart简单 ... -
创建自定义的WebPart
2007-08-05 12:57 703创建一个自定义的WebPart控件类似与创建自定义服务器控件, ... -
实现WebPart管理功能
2007-08-05 13:00 665实现WebPart管理功能需要用到CatalogZone、De ... -
实现WebPart通信功能
2007-08-05 13:02 721在一个页面中的WebPart控件之间是相互独立的,依赖与它的通 ... -
打包并自动安装SQL数据库
2007-08-05 13:04 590NET平台下WEB应用程序的 ... -
官方水晶报表.NET 应用程序实例下载(C#、Visual C++.NET)
2007-08-05 13:10 624一、数据库连通性 1、cs ... -
Windows mobile Install the Tools
2007-08-23 17:39 583Install Visual Studio 2005 ... -
Windows Mobile中的WebService应用
2007-09-07 15:03 638Web Service对于开发者来说已经不再是一个陌生概念了。 ... -
C#中对文件夹及文件信息的操作
2007-09-10 14:10 540C#中如何判断指定文件或文件夹是否存在? using Sy ... -
DataBinder.Eval用法收集
2007-09-24 17:24 621一、DataBinder.Eval的基本格式 在绑定数据 ... -
使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
2007-09-25 10:15 807绑定到父表 <script type=&quo ... -
水晶报表中动态加载报表字段
2007-10-08 10:01 881usingSystem;usingSystem.Col ... -
日志记录组件[Log4net]详细介绍
2007-10-11 11:52 1501一Log4net简介 Log4net是基于.net开发 ... -
HashMap和Hashtable及HashSet的区别
2008-04-10 12:10 573Hashtable类 Hashtable继承Map接口,实 ...
相关推荐
本教程包含的可能章节可能包括:WebPart概述、WebPart开发环境搭建、WebPart基础类、WebPart设计与实现、WebPart连接、WebPart权限管理、Visual WebPart开发、WebPart调试与部署等。每章节都会通过实例来讲解相关...
3. 实现功能:编写代码实现WebPart的功能,这可能涉及到数据获取、处理和展示,或者与其他WebParts的交互。 4. 部署与配置:将WebPart打包成WSP文件,然后通过SharePoint的解决方案部署功能发布到服务器。用户可以...
8. **WebPart安全性和权限**:WebParts可以配置不同的访问控制,限制谁可以查看或编辑它们。这通常通过SharePoint的权限系统来实现。 9. **WebPart设计模式**:在开发WebPart时,可以采用MVC(模型-视图-控制器)或...
- 编写C#或VB.NET代码,实现WebPart的业务逻辑和数据处理。 - 部署WebPart到SharePoint服务器,可以通过解决方案包(.wsp)进行部署。 **7. WebPart管理** 在SharePoint站点中,管理员可以通过WebPart工具面板来...
1. **创建基类**: 继承自`System.Web.UI.WebControls.WebParts.WebPart`基类,实现所需功能。 2. **设计界面**: 使用ASP.NET控件构建WebPart的用户界面。 3. **处理事件**: 通过事件处理程序实现业务逻辑。 4. **...
2. **WebPart连接**:WebParts可以通过连接机制共享数据,这使得它们之间可以通信,实现更复杂的功能。例如,一个搜索WebPart的结果可以显示在另一个WebPart中。 3. **WebPart zones**:Zone是WebPart布局的基础,...
例如,可以创建两个按钮,分别用于关闭和打开WebPart,通过连接到对应的事件处理程序实现这一功能。 2. WebPart模式切换: WebPart可以有不同的显示模式,如Edit模式和Display模式。在Edit模式下,用户可以调整...
通过连接,WebPart 可以互相通信,实现更复杂的功能和交互。 4. **个人化(Personalization)**:ASP.NET 2.0 WebParts 支持用户级别的个人化设置。用户可以根据自己的需求自定义 WebParts 的显示和行为,如大小、...
在这个过程中,开发人员通常会使用Visual Studio创建WebPart项目,编写代码实现特定功能,然后将项目打包成WSP(SharePoint Solution Package)文件。这个过程可能涉及到对SharePoint的API,如Microsoft.Office....
【WebPart Demo】是一个基于ASP.NET技术的示例项目,主要展示了如何利用C#编程语言来实现WebPart功能。WebPart是ASP.NET框架中的一个重要组件,它允许开发者创建可交互、可配置和可组合的网页元素,从而为用户提供...
2. **WebPart管理**:介绍如何在SharePoint页面上通过WebPart工具箱添加、删除、配置WebParts,以及使用WebPart页编辑模式进行布局调整。 3. **WebPart类型**:可能涵盖了内置的WebPart,如文档库视图、搜索结果、...
在 SharePoint 系统中,WebPart 被广泛用于实现网站的定制化功能。例如,一个 WebPart 可以显示来自 SharePoint 站点内部的信息,或者提供复杂的交互功能,如数据编辑或图表展示等。 #### 三、教程目标 根据教程的...
在这个场景中,我们将深入探讨如何编辑Web Part的风格、增强其功能,并了解JavaScript在其中的作用。 1. **自定义Web Part** - **创建过程**: 开发者通常使用.NET Framework和Visual Studio来创建自定义Web Part,...
7. **WebPart属性**: 为了使WebPart更具灵活性,我们还可以定义一些可配置的属性,如列表URL、是否启用排序等,这些属性可以在WebPart工具箱或WebPart编辑器中由管理员进行设置。 8. **部署与调试**: 完成WebPart...
本项目名为 "SharePoint设置用户组访问权限WebPart",其核心功能是通过WebPart组件来实现用户组权限的判断与页面跳转,从而为用户提供定制化的访问体验。 WebPart是SharePoint的一种强大的功能,它是构建自定义用户...
为了实现这个功能,Webpart背后的技术可能包括以下关键点: 1. **身份验证**:Webpart需要验证用户的身份,这通常是通过AD的身份验证机制完成的,确保只有合法用户才能更改密码。 2. **AD通信**:Webpart需要与AD...
在创建这个单选调查问卷WebPart时,开发者可能已经实现了以下功能: 1. **数据存储**:可能使用了SharePoint列表或者自定义数据库来存储调查问题和选项,这样用户可以添加、编辑和删除问题。 2. **用户界面**:...
4. **集成能力**:WebPart可以与其他WebPart或系统集成,实现更复杂的功能。 **WebPart的基本概念:** 1. **WebPart Zone**:用于放置和组织WebPart的容器,可以设置布局和方向。 2. **WebPart Connections**:允许...
这里我们将详细讲解如何实现这个功能。 首先,你需要导出已经存在的内容查询Web Part。这可以通过在SharePoint页面上,找到你要修改的Web Part,点击“Web Part工具栏”上的“Export”按钮完成。导出的文件通常命名...
- **Webpart**:SharePoint中的Web部件,允许用户在页面上添加自定义功能,可以是微软提供的内置部件,也可以是自定义开发的。 - **Flash**:Adobe Flash,一种广泛应用于创建互动内容、动画和多媒体应用的技术,...