zoukankan
html css js c++ java
MOSS publishing功能:创建页面到子文件夹
MOSS的页面发布功能,页面始终保存到跟目录下,如何使页面创建到子文件夹下呢?
网上没有找到相关的资料,只好改一下系统的代码了。
publishing的系统页面是: _layouts/CreatePage.aspx.
添加以下代码到CreatePage.aspx:
<%
@ Import Namespace
=
"
Microsoft.SharePoint
"
%>
<%
@ Import Namespace
=
"
Microsoft.SharePoint.Publishing
"
%>
<
script
runat
="server"
>
string _folderUrl ;
int
_layoutId ;
string _pageName ;
void
CreatePageToCurrentFolder(object sender, EventArgs e)
{
_folderUrl
=
""
+
Request.QueryString[
"
RootFolder
"
];
_layoutId
=
Convert.ToInt32( dropdownList.SelectedValue );
_pageName
=
this
.urlNameTextBox.Text.Trim()
+
"
.aspx
"
;
CreatePage();
}
PageLayout GetPageLayout( PublishingWeb publishingWeb ,
int
layoutId)
{
PageLayout[] layouts
=
publishingWeb.GetAvailablePageLayouts();
foreach( PageLayout l
in
layouts )
{
if
( l.ListItem.ID
==
layoutId)
{
return
l ;
}
}
return
null
;
}
void
CreatePage()
{
//
bool o = PublishingWeb.IsPublishingWeb(base.Web) ;
PublishingWeb publishingWeb
=
PublishingWeb.GetPublishingWeb(base.Web);
PublishingSite site
=
new
PublishingSite(base.Web.Site);
//
if (publishingWeb.GetPublishingPages()["Pages/my1.aspx"] == null)
//
Create the default page
//
SPContentTypeId contentTypeID = new SPContentTypeId("0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900916CECA7C77446059633C4287903AA2A");
//
PageLayout[] layouts = publishingWeb.GetAvailablePageLayouts();
//
PageLayout selectedPageLayout = layouts[0];
PageLayout selectedPageLayout
=
GetPageLayout( publishingWeb , _layoutId ) ;
string fullPagePath
=
_pageName ;
if
( _folderUrl
!=
""
)
fullPagePath
=
_folderUrl
+
"
/
"
+
_pageName ;
PublishingPage newPage
=
publishingWeb.GetPublishingPages(
1
).Add( fullPagePath , selectedPageLayout);
//
newPage.Title = this.urlNameTextBox.Text.Trim() ;
newPage.Update();
SPListItem item
=
publishingWeb.PagesList.GetItemById( newPage.ListItem.ID );
item[
"
Title
"
]
=
this
.urlNameTextBox.Text.Trim() ;
//
item["主题"] = this.urlNameTextBox.Text.Trim() ;
item.Update();
//
Set the default page
SPFile welcomeFile
=
base.Web.GetFile(newPage.Url);
//
publishingWeb.DefaultPage = welcomeFile;
string webUrl
=
publishingWeb.Url;
if
(
!
webUrl.EndsWith(
"
/
"
))
webUrl
+=
"
/
"
;
Page.Response.Redirect(webUrl
+
newPage.Url
+
"
?ControlMode=Edit&DisplayMode=Design
"
);
//
publishingWeb.Update();
}
</
script
>
修改保存按钮事件:
<
asp:Button
runat
="server"
class
="ms-ButtonHeightWidth"
OnClick
="CreatePageToCurrentFolder"
Text
="<%$Resources:cms, createpage_createbutton%>"
id
="buttonCreatePage"
AccessKey
="<%$Resources:cms,createbutton_accesskey%>"
/>
查看全文
相关阅读:
pythone 请求响应字典
python strip()
python,datetime
How Flask Routing Works
python __file__ 与argv[0]
Python的zip函数
Python中的__new__()方法与实例化
python,dict的setdefault方法
python yield
python with用法
原文地址:https://www.cnblogs.com/jianyi0115/p/1079805.html
最新文章
专辑一:爱之初体验(初级)
Daily Sentence(英语每日一句)
Android学习之基础知识十六 — Android开发高级技巧的掌握
swift中变量声明 var、let、?、??、!的使用,以及?和!的区别
OC AVFoundation视频录制相关(AVCaptureSession+ AVCaptureMovieFileOutput+ AVCaptureVideoPreviewLayer)
OC屏幕旋转相关
OC AVPlayerItem,AVPlayer,AVPlayerLayer的使用
OC MPMoviePlayerController的使用(这个9.0之后已经废弃了,9.0之后的我会补充,这里只是个人单纯的了解一下)
解决低版本Xcode不支持高版本iOS真机调试的问题
OC AVAudioRecorder、AVAudioSession和AVAudioPlayer的使用
热门文章
五、逆向工程--myeclipse快速开发Hibernate项目
六、hql语句
一、hibernate基本介绍
四、HibernateUtil
三、hibernate常用对象
二、hibernate入门案例
三、全局跳转,动态表单
二、分派Action
一、struts入门
十、AOP切面编程
Copyright © 2011-2022 走看看