Спасибо, Цинкорп,
Я мог бы отсортировать пост по дате публикации. Но у меня есть более 20 блогов во внутренней сети, и у меня нет доступа к производственному серверу. И на основе решения Zincorp мне нужно создать новые веб-части для каждого блога или изменить значение параметра, а в моей ситуации это невозможно.
Так что я достиг этого по-другому.
Сначала я создаю веб-часть, которая читает блог с текущего сайта.
string url = Request.Url.ToString();
SPSite site = new SPSite(url.Substring(0, url.LastIndexOf('/')));
И с помощью запроса CAML я мог читать и сортировать сообщения по дате публикации.
Следующая задача - заменить всю веб-часть формы данных публикации новой веб-частью. Для этого я создал функцию, которая выбирает все блоги в моем семействе сайтов и заменяет веб-часть, используя код ниже
using (SPWeb spWebTest = spSiteTest.OpenWeb())
{
SPWebPartCollection webparts = spWebTest.GetWebPartCollection("default.aspx", Storage.Shared);
for (int k = 0; k < webparts.Count; k++)
{
//get reference to webpart
Microsoft.SharePoint.WebPartPages.WebPart wp = webparts[k];
//check webpart Title to find webpart which is to be removed
if (wp.Title == "Posts")
{
//delete webpart
webparts.Delete(wp.StorageKey);
//update spWeb object
spWebTest.Update();
} }
//create new webpart object
WebPartToBeAdded wpNew = new WebPartToBeAdded();
//set properties of new webpart object
wpNew.ZoneID = "1";
wpNew.Title = "LatestPost";
wpNew.ChromeState = System.Web.UI.WebControls.WebParts.PartChromeState.Normal;
wpNew.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.None;
//add new webpart object to webparts collection
webparts.Add(wpNew);
}