Файл Скопируйте главную страницу с главного сайта sharepoint на дочерний сайт sharepoint - PullRequest
1 голос
/ 16 сентября 2011

У меня есть файл мастер-страницы sharepoint

http://abcd.com/sites/forum/_catalogs/masterpage/MyCustomMasterPage.master

, и я хотел скопировать MyCustomMasterPage.master в

http://abcd.com/site/forum/MySiteA/_catalogs/masterpage/MyCustomMasterPage.master

Какя сделаю это в C #?Пожалуйста, помогите мне.Спасибо!

1 Ответ

1 голос
/ 20 сентября 2011
string strMPageURL ="http://abcd.com/sites/forum/_catalogs/masterpage/MyCustomMasterPage.master";

SPFolder mPageFolder = spWeb.Folders["_catalogs"].SubFolders["masterpage"];
using (WebClient oWebClient = new WebClient())
{
    SPFileCollection mPageFileCollection = mPageFolder.Files;
    SPFile mPageFile = mPageFileCollection.Add(
        "MyCustomMasterPage.master",
        oWebClient.OpenRead(strMPageURL)
    );
}

На самом деле он ведет себя так, как будто вы загружаете мастер-страницу в папку _catalogs / masterpage, но разница в том, что она пришла из Интернета, а не с локального компьютера.

Если вы планируете загружать мастер-страницу так же, как ведет себя из коробки при загрузке файлов с локального компьютера, вы можете сделать это.

string strMPageLocation =@"C://MyCustomMasterPage.master";

SPFolder mPageFolder = spWeb.Folders["_catalogs"].SubFolders["masterpage"];
using (FileStream mPageStream = new FileStream(strMPageLocation,FileMode.Open))
{
    SPFileCollection mPageFileCollection = mPageFolder.Files;
    SPFile mPageFile = mPageFileCollection.Add(
        "MyCustomMasterPage.master",
        mPageStream
    );
}
...