Как задать URL-адрес, когда вики-сайт создается программно в SharePoint 2010? - PullRequest
0 голосов
/ 02 февраля 2011

Я создаю новый сайт с:

SPSite currentContext = SPContext.GetContext(HttpContext.Current).Site;
SPWeb parentID = currentContext.OpenWeb(new Guid(parentSiteValue));

newWeb = parentID.Webs.Add(newSiteUrl, newSiteName, null, (uint)1033, siteTemplate, true, false);

siteTemplate - это шаблон, который я выбираю в раскрывающемся списке, и он прекрасно работает при создании сайтов, когда я создаю сайт из шаблона сайта группы или аналогично, но когда создается сайт вики, фактический URL-адрес /pages/home.aspx под родительский сайт, но если я добавлю это в newSiteUrl, я получу такие ошибки, как отсутствие косой черты, папка не существует и т. д.

Как я могу создать вики-сайт и установить URL-адрес программно?

Заранее спасибо.

EDIT установите URL на newSiteUrl = newSiteName + "/ pages /" дает мне

"testpage/pages/" contains leading or trailing slash, which is invalid.

newSiteUrl = newSiteName + "/ pages"

The folder that would hold URL '/dept/class/wikitest/pages' 
does not exist on the server.

newSiteUrl = newSiteName + "/pages/home.aspx"

The URL '/dept/class/wikitest/pages/home.aspx' is invalid. 
It may refer to a nonexistent file or folder, 
or refer to a valid file or folder that is not in the current Web.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Вы можете установить URL следующим образом:

using (SPSite site = new SPSite("http://localhost"))
{
    string parentWebName = "MyOrganization";
    using (SPWeb parentWeb = site.OpenWeb())
    {
        string webTitle = "DepartMent Wiki";
        string webDesc = "DepartMent Wiki";     string webName = "HRWiki";
        string webUrl = String.Format("{0}/{1}", parentWebName, webName);
        uint webLcid = parentWeb.Language;

        // Name value for the Document Workspace template.
        string webTemplateName = "STS#4";

        SPWeb newWeb = null;

        // Create the new web.
        try
        {
            newWeb = site.AllWebs.Add(webUrl, webTitle, webDesc, webLcid, webTemplateName, false, false);

            SPFolder rootFolder = newWeb.RootFolder; 
            rootFolder.WelcomePage = "My Wiki Library/MyWelcome.aspx";
            rootFolder.Update();
        }
        catch (ArgumentException ex)
        {
        }
    }
}

надеюсь, эта помощь.

0 голосов
/ 02 февраля 2011

Я отправил ответ на ваш вопрос здесь: http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/e25f10ef-bdd9-4445-8508-67b58c2396f9 надеюсь, что это поможет!

joel

joelblogs.co.uk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...