欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实现WebPart编辑功能 博客分类: net

程序员文章站 2024-03-19 21:09:52
...

实现WebPart的编辑功能需要用到VS2005提供的EditorZone控件和EditorPart系列控件。EditorPart系列控件包括AppearanceEditorPart、BehaviorEditorPart、LayoutEditorPart、PropertyGridEditPart。
要实现WebPart的编辑功能需要几个条件:(1)用户处于共享页面范围(2)显示模式为编辑模式。
对于(1)来说,只要在Web.config文件中配置一下就OK了。
<allowusers="Tom"verbs="enterSharedScope"/> 表示用户名"Tom" 被授权共享页面范围,否则切换成编辑模式会报错。

实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: netWeb.config
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->实现WebPart编辑功能
            
    
    博客分类: net<?xmlversion="1.0"?>
实现WebPart编辑功能
            
    
    博客分类: net
<configurationxmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
实现WebPart编辑功能
            
    
    博客分类: net
<appSettings/>
实现WebPart编辑功能
            
    
    博客分类: net
<connectionStrings/>
实现WebPart编辑功能
            
    
    博客分类: net
<system.web>
实现WebPart编辑功能
            
    
    博客分类: net
<compilationdebug="true"/>
实现WebPart编辑功能
            
    
    博客分类: net
<authorization>
实现WebPart编辑功能
            
    
    博客分类: net
<denyusers="?"></deny>
实现WebPart编辑功能
            
    
    博客分类: net
</authorization>
实现WebPart编辑功能
            
    
    博客分类: net
<authenticationmode="Forms">
实现WebPart编辑功能
            
    
    博客分类: net
<formsloginUrl="Login.aspx"></forms>
实现WebPart编辑功能
            
    
    博客分类: net
</authentication>
实现WebPart编辑功能
            
    
    博客分类: net
<webParts>
实现WebPart编辑功能
            
    
    博客分类: net
<personalization>
实现WebPart编辑功能
            
    
    博客分类: net
<authorization>
实现WebPart编辑功能
            
    
    博客分类: net
<allowusers="Tom"verbs="enterSharedScope"/>
实现WebPart编辑功能
            
    
    博客分类: net
</authorization>
实现WebPart编辑功能
            
    
    博客分类: net
</personalization>
实现WebPart编辑功能
            
    
    博客分类: net
</webParts>
实现WebPart编辑功能
            
    
    博客分类: net
</system.web>
实现WebPart编辑功能
            
    
    博客分类: net
</configuration>

对于(2),在页面中添加2个LinkButton,在cs文件中切换一下显示模式,也可以用DropDownList来实现。
EditorPart系列控件中的BehaviorEditorPart、PropertyGridEditPart需要特别说明一下。
BehaviorEditorPart控件看名字也知道大概能做什么了,它在默认情况下可能不会显示出来,实现这个控件需要2个步骤:一、配置Web.config文件,方法上面已经说了,二、以编程的方式将页从用户级别改为共享级别,可以通过使用ToggleScope方法实现。
PropertyGridEditPart:是对自定义属性的修改。

在EditorPart中实现折叠的功能
利用Css和JavaScript脚本来实现。初始情况下,让LEGEND的显示“+”号,并隐藏区块中的内容,通过Click“+”号改变Css。

示例代码如下:
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: netDefault.aspx
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->实现WebPart编辑功能
            
    
    博客分类: net<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default2.aspx.cs"Inherits="_Default"%>
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net
<%@RegisterTagPrefix="cc1"Namespace="Samples.AspNet.CS.Controls"%>
实现WebPart编辑功能
            
    
    博客分类: net
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
实现WebPart编辑功能
            
    
    博客分类: net
<html>
实现WebPart编辑功能
            
    
    博客分类: net
<headid="Head1"runat="server">
实现WebPart编辑功能
            
    
    博客分类: net
<linkhref="StyleSheet.css"rel="stylesheet"type="text/css"/>
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net
<scripttype="text/javascript">
实现WebPart编辑功能
            
    
    博客分类: net
//为每个className值为'EditorPartTitle'的标题头创建onclick处理程序
实现WebPart编辑功能
            
    
    博客分类: net
functionCreateExpandingTitles()
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netvarelements
=document.getElementsByTagName("LEGEND");
实现WebPart编辑功能
            
    
    博客分类: net
for(i=0;i<elements.length;i++)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: net
if(elements[i].className&&elements[i].className=="EditorPartTitle")
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netelements[i].onclick
=newFunction("toggle(this);");
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
//在onload发生时,调用CreateExpandingTitles方法
实现WebPart编辑功能
            
    
    博客分类: net
if(window.addEventListener)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netwindow.addEventListener(
'load',CreateExpandingTitles,false);
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
elseif(window.attachEvent)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netwindow.attachEvent(
'onload',CreateExpandingTitles);
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
//单击事件处理程序
实现WebPart编辑功能
            
    
    博客分类: net
functiontoggle(titleElement)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netvarfirstChild
=(titleElement.nextSibling.childNodes[0].id)
实现WebPart编辑功能
            
    
    博客分类: net
?titleElement.nextSibling.childNodes[0]
实现WebPart编辑功能
            
    
    博客分类: net:titleElement.nextSibling.childNodes[
1];
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net
//设置图片显示及显示状态
实现WebPart编辑功能
            
    
    博客分类: net
if(firstChild.style.display=="block")
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netfirstChild.style.display
="none";
实现WebPart编辑功能
            
    
    博客分类: nettitleElement.style.backgroundImage
="url(images/plus.gif)";
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
else
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netfirstChild.style.display
="block";
实现WebPart编辑功能
            
    
    博客分类: nettitleElement.style.backgroundImage
="url(images/minus.gif)";
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
</script>
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net
</head>
实现WebPart编辑功能
            
    
    博客分类: net
<body>
实现WebPart编辑功能
            
    
    博客分类: net
<formid="Form1"runat="server">
实现WebPart编辑功能
            
    
    博客分类: net
<asp:WebPartManagerID="WebPartManager1"runat="server"/>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:LinkButtonID="LinkButton1"runat="server"Text="浏览模式(BrowseMode)|"OnClick="LinkButton1_Click"
实现WebPart编辑功能
            
    
    博客分类: netCssClass
="commonText"></asp:LinkButton>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:LinkButtonID="LinkButton2"runat="server"Text="编辑模式(EditMode)"OnClick="LinkButton2_Click"
实现WebPart编辑功能
            
    
    博客分类: netCssClass
="commonText"></asp:LinkButton>&nbsp;
实现WebPart编辑功能
            
    
    博客分类: net
<tableborder="0"cellpadding="0"cellspacing="0"style="width:547px;height:172px">
实现WebPart编辑功能
            
    
    博客分类: net
<tr>
实现WebPart编辑功能
            
    
    博客分类: net
<tdstyle="width:268px"valign="top">
实现WebPart编辑功能
            
    
    博客分类: net
<asp:WebPartZoneID="WebPartZone1"runat="server"title="Zone1"BorderColor="#CCCCCC"
实现WebPart编辑功能
            
    
    博客分类: netFont
-Names="Verdana"Padding="6">
实现WebPart编辑功能
            
    
    博客分类: net
<PartTitleStyleFont-Bold="true"ForeColor="White"BackColor="#5D7B9D"Font-Size="0.8em"/>
实现WebPart编辑功能
            
    
    博客分类: net
<PartStyleBorderWidth="1px"BorderStyle="Solid"BorderColor="#81AAF2"Font-Size="0.8em"
实现WebPart编辑功能
            
    
    博客分类: netForeColor
="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<ZoneTemplate>
实现WebPart编辑功能
            
    
    博客分类: net
<cc1:TextDisplayWebPartrunat="server"ID="textwebpart"Title="TextContentWebPart"
实现WebPart编辑功能
            
    
    博客分类: netAllowClose
="False"/>
实现WebPart编辑功能
            
    
    博客分类: net
</ZoneTemplate>
实现WebPart编辑功能
            
    
    博客分类: net
<PartChromeStyleBackColor="#F7F6F3"BorderColor="#E2DED6"Font-Names="Verdana"ForeColor="White"/>
实现WebPart编辑功能
            
    
    博客分类: net
<MenuLabelHoverStyleForeColor="#E2DED6"/>
实现WebPart编辑功能
            
    
    博客分类: net
<EmptyZoneTextStyleFont-Size="0.8em"/>
实现WebPart编辑功能
            
    
    博客分类: net
<MenuLabelStyleForeColor="White"/>
实现WebPart编辑功能
            
    
    博客分类: net
<MenuVerbHoverStyleBackColor="#F7F6F3"BorderColor="#CCCCCC"BorderStyle="Solid"
实现WebPart编辑功能
            
    
    博客分类: netBorderWidth
="1px"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<HeaderStyleFont-Size="0.7em"ForeColor="#CCCCCC"HorizontalAlign="Center"/>
实现WebPart编辑功能
            
    
    博客分类: net
<MenuVerbStyleBorderColor="#5D7B9D"BorderStyle="Solid"BorderWidth="1px"ForeColor="White"/>
实现WebPart编辑功能
            
    
    博客分类: net
<TitleBarVerbStyleFont-Size="0.6em"Font-Underline="False"ForeColor="White"/>
实现WebPart编辑功能
            
    
    博客分类: net
<MenuPopupStyleBackColor="#5D7B9D"BorderColor="#CCCCCC"BorderWidth="1px"Font-Names="Verdana"
实现WebPart编辑功能
            
    
    博客分类: netFont
-Size="0.6em"/>
实现WebPart编辑功能
            
    
    博客分类: net
</asp:WebPartZone>
实现WebPart编辑功能
            
    
    博客分类: net
</td>
实现WebPart编辑功能
            
    
    博客分类: net
<tdstyle="width:204px">
实现WebPart编辑功能
            
    
    博客分类: net
<asp:EditorZoneID="EditorZone1"runat="server"BackColor="#EFF3FB"BorderColor="#CCCCCC"
实现WebPart编辑功能
            
    
    博客分类: netBorderWidth
="1px"Font-Names="Verdana"Padding="6">
实现WebPart编辑功能
            
    
    博客分类: net
<HeaderStyleBackColor="#D1DDF1"Font-Bold="True"Font-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<LabelStyleFont-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<HeaderVerbStyleFont-Bold="False"Font-Size="0.8em"Font-Underline="False"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<PartChromeStyleBorderColor="#D1DDF1"BorderStyle="Solid"BorderWidth="1px"/>
实现WebPart编辑功能
            
    
    博客分类: net
<ZoneTemplate>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:AppearanceEditorPartID="AppearanceEditorPart1"runat="server"CssClass="EditorPartHidden"/>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:BehaviorEditorPartID="BehaviorEditorPart1"runat="server"CssClass="EditorPartHidden"/>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:LayoutEditorPartID="LayoutEditorPart1"runat="server"CssClass="EditorPartHidden"/>
实现WebPart编辑功能
            
    
    博客分类: net
<asp:PropertyGridEditorPartID="PropertyGridEditorPart1"runat="server"CssClass="EditorPartHidden"/>
实现WebPart编辑功能
            
    
    博客分类: net
</ZoneTemplate>
实现WebPart编辑功能
            
    
    博客分类: net
<PartStyleBorderColor="#EFF3FB"BorderWidth="5px"/>
实现WebPart编辑功能
            
    
    博客分类: net
<FooterStyleBackColor="#D1DDF1"HorizontalAlign="Right"/>
实现WebPart编辑功能
            
    
    博客分类: net
<EditUIStyleFont-Names="Verdana"Font-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<InstructionTextStyleFont-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<ErrorStyleFont-Size="0.8em"/>
实现WebPart编辑功能
            
    
    博客分类: net
<VerbStyleFont-Names="Verdana"Font-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<EmptyZoneTextStyleFont-Size="0.8em"ForeColor="#333333"/>
实现WebPart编辑功能
            
    
    博客分类: net
<PartTitleStyleFont-Bold="True"Font-Size="0.8em"ForeColor="#333333"CssClass="EditorPartTitle"/>
实现WebPart编辑功能
            
    
    博客分类: net
</asp:EditorZone>
实现WebPart编辑功能
            
    
    博客分类: net
</td>
实现WebPart编辑功能
            
    
    博客分类: net
</tr>
实现WebPart编辑功能
            
    
    博客分类: net
</table>
实现WebPart编辑功能
            
    
    博客分类: net
</form>
实现WebPart编辑功能
            
    
    博客分类: net
</body>
实现WebPart编辑功能
            
    
    博客分类: net
</html>

实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: netDefault.aspx.cs
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->实现WebPart编辑功能
            
    
    博客分类: netusingSystem;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Data;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Configuration;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web.Security;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web.UI;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web.UI.WebControls;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web.UI.WebControls.WebParts;
实现WebPart编辑功能
            
    
    博客分类: net
usingSystem.Web.UI.HtmlControls;
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net
publicpartialclass_Default:System.Web.UI.Page
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: net
protectedvoidPage_Load(objectsender,EventArgse)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
protectedvoidLinkButton1_Click(objectsender,EventArgse)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: net
//进入浏览模式
实现WebPart编辑功能
            
    
    博客分类: net
WebPartManager1.DisplayMode=WebPartManager.BrowseDisplayMode;
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
protectedvoidLinkButton2_Click(objectsender,EventArgse)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: net
//调用ToogleScope方法,修改页面个性化范围
实现WebPart编辑功能
            
    
    博客分类: net
if(WebPartManager1.Personalization.Scope!=PersonalizationScope.Shared)
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net{
实现WebPart编辑功能
            
    
    博客分类: netWebPartManager1.Personalization.ToggleScope();
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net
//进入编辑模式
实现WebPart编辑功能
            
    
    博客分类: net
WebPartManager1.DisplayMode=WebPartManager.EditDisplayMode;
实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net}

实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: netStyleSheet.css
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->实现WebPart编辑功能
            
    
    博客分类: netbody
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: net
}

实现WebPart编辑功能
            
    
    博客分类: net.mainTitle
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: netfont-size
:12pt;
实现WebPart编辑功能
            
    
    博客分类: netfont-weight
:bold;
实现WebPart编辑功能
            
    
    博客分类: netfont-family
:宋体;
实现WebPart编辑功能
            
    
    博客分类: net
}

实现WebPart编辑功能
            
    
    博客分类: net.commonText
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: netfont-size
:10pt;
实现WebPart编辑功能
            
    
    博客分类: netfont-family
:宋体;
实现WebPart编辑功能
            
    
    博客分类: nettext-decoration
:none;
实现WebPart编辑功能
            
    
    博客分类: net
}

实现WebPart编辑功能
            
    
    博客分类: net.littleMainTitle
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: netfont-size
:10pt;
实现WebPart编辑功能
            
    
    博客分类: netfont-weight
:bold;
实现WebPart编辑功能
            
    
    博客分类: netfont-family
:宋体;
实现WebPart编辑功能
            
    
    博客分类: net
}

实现WebPart编辑功能
            
    
    博客分类: net.EditorPartHidden
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: netdisplay
:none;
实现WebPart编辑功能
            
    
    博客分类: net
}

实现WebPart编辑功能
            
    
    博客分类: net
实现WebPart编辑功能
            
    
    博客分类: net.EditorPartTitle
实现WebPart编辑功能
            
    
    博客分类: net实现WebPart编辑功能
            
    
    博客分类: net
{实现WebPart编辑功能
            
    
    博客分类: net}{
实现WebPart编辑功能
            
    
    博客分类: netbackground-position
:left;
实现WebPart编辑功能
            
    
    博客分类: netbackground-repeat
:no-repeat;
实现WebPart编辑功能
            
    
    博客分类: netbackground-image
:url(images/plus.gif);
实现WebPart编辑功能
            
    
    博客分类: netcursor
:pointer;
实现WebPart编辑功能
            
    
    博客分类: netpadding-left
:14px;
实现WebPart编辑功能
            
    
    博客分类: net
}

效果图:

实现WebPart编辑功能
            
    
    博客分类: net