2015-09-12 9 views
1

Я разбил огромную страницу на несколько «кусочков размера». Я хочу представить их по одному пользователю. После одной страницы они нажимают кнопку HTML («Далее»), а предыдущая веб-часть или веб-часть Редактора содержимого заменяется следующей.Является ли это разумным способом программной замены контента на странице SharePoint?

От this page, я пришел с какой-то pseudcode (я не знаю, есть ли на самом деле метод SPLimitedWebPartManager.RemoveWebPart(), что я могу назвать, так как pseudocoded ниже, или как получить ссылку на данный момент (о -в заменяющие) [Content Editor] веб-часть, но это основная идея:

using (SPSite site = new SPSite("http://~")) 
{ 
    SPWeb web = site.RootWeb; 
    SPFile page = web.GetFile("Pages/Web_Form_Post_Travel_Expense.aspx"); 
    page.CheckOut(); 

    using (SPLimitedWebPartManager wpmgr = page.GetLimitedWebPartManager(PersonalizationScope.Shared)) 
    { 
     XmlElement d = new XmlDocument().CreateElement("div"); 
     d.InnerText = get 
     ContentEditorWebPart cewp = new ContentEditorWebPart 
     { 
      Content = d 
     }; 
     ContentEditorWebPart currentCEWP = ?; 
     wpmgr.RemoveWebPart(currentCEWP); 
     wpmgr.AddWebPart(cewp, "Header", 0); 
    } 

    page.CheckIn(String.Empty); 
} 

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

Единственное, что я могу представить на данный момент, - это положить весь shebang в один Web P но сначала удерживайте разделы 2-6, а затем последовательно показывайте один сегмент (после скрытия предыдущего). IOW, этот тип процедуры:

First Section shows 
All others hidden 

User selects "Next" button 

First section is hidden 
Second section shows, while all others remain hidden. 

etc. 

На самом деле обе идеи кажутся мне хотя бы немного неудобными. Является ли один подход предпочтительным, или есть третий способ, который я не думал об этом, был бы лучше, чем оба?

ответ

1

Что такое CheckOut() и CheckIn (строковое значение) для? Это вопрос?

Я посмотрел на Microsoft.SharePoint namespace и SPSite class, но ничего не получилось определить.

Мое лучшее предположение - это способ размещения блокировки документа, когда он открывается другим человеком.

Смотрите следующие вспомогательные элементы:

Таким образом, если у вас есть Mark Twain проверено, чтобы изменить, никто другой не может проверить это, чтобы изменить.

Если, с другой стороны, вы просто хотите просмотреть содержимое, вы можете проверить раздел, прочитать его все в StringBuilder, проверить содержимое обратно в SharePoint и затем отобразить текст по мере необходимости Это.

+1

Thanks, jp2code; и для ссылки Марка Твена! –

+1

Я удивлен, что никто другой не нашел времени, чтобы рассмотреть его. Никто даже не голосовал по этому вопросу. Ну что ж. – jp2code

+0

Sharepoint - это немного город-призрак; как обычно, мое профессиональное кодирование (Sharepoint) и мое личное кодирование (Meteor) совершенно разные, но в настоящее время они относительно «fringy» (это не настоящее слово, так что кто знает, что такое правописание). Sharepoint может уменьшаться; Тем не менее, Метеор воском. –