Это разумный способ программной замены контента на странице SharePoint?
Я разбил огромную страницу на несколько кусков размером с укус. Я хочу представить их по одному пользователю. После одной страницы они нажимают кнопку HTML ("Далее"), и предыдущая веб-часть или веб-часть редактора содержимого заменяется следующей.
На этой странице я придумал некоторый псевдокод (я не знаю, действительно ли существует метод SPLimitedWebPartManager.RemoveWebPart(), который я могу вызвать, как псевдокодировано ниже, или как получить ссылку на текущий (примерный) быть замененным) Веб-часть [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 в одну веб-часть, но сначала спрятать разделы 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 и класс SPSite, но ничего не определилось.
Мое лучшее предположение - это способ установить блокировку документа, когда он открывается другим человеком.
Смотрите следующие вспомогательные элементы:
Таким образом, если у вас есть Марк Твен, извлеченный для редактирования, никто другой не сможет проверить это для редактирования.
Если, с другой стороны, вы просто хотите просмотреть содержимое, вы можете извлечь раздел, прочитать его все в StringBuilder, вернуть содержимое обратно в SharePoint, а затем отобразить текст по мере необходимости.