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%>"/>
  • 相关阅读:
    Python基础(函数)
    Python基础(列表中变量与内存关系)
    linux文件、目录管理
    安装、登入centos7
    Python基础(if语句、运算符)
    Python基础(列表、元组)
    Python基础(变量、字符编码、数据类型)
    初识Python
    解决子级用css float浮动 而父级div没高度不能自适应高度
    PHP服务端优化全面总结
  • 原文地址:https://www.cnblogs.com/jianyi0115/p/1079805.html
Copyright © 2011-2022 走看看