Разбивка на страницы в веб-части ListViewByQuery

#sharepoint #listview #sharepoint-2007

#sharepoint #listview #sharepoint-2007

Вопрос:

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

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

Ответ №1:

Проблема в том, что когда вы нажимаете на кнопку paged 1-2, она возвращает некоторые значения в строку запроса.

Я случайно удаляю view=. строку запроса из URL и нажимаю enter, чтобы получить результаты.

Итак, что я сделал, это следующее

 if (!string.IsNullOrEmpty(Request.QueryString["View"]))

{
   string queryString = string.Empty;
   foreach (string key in Request.QueryString.Keys)
   {
     if (key.ToLower() != "view")
       queryString  = key   "="   Request.QueryString[key]   "amp;";
   }

SPUtility.Redirect(Request.Url.GetLeftPart(UriPartial.Path), SPRedirectFlags.Default, HttpContext.Current,queryString);
 return;

}
  

Ответ №2:

Отличный ответ Мухаммад — после удаления ключа просмотра и значения ссылка работает нормально.
Однако строка SPUtility.Redirect(.. у меня не сработала.
Вместо этого, когда я помещаю ваш код в CreateChildControls() Я использовал:

  this.Context.Response.Redirect(this.Context.Request.Url.GetLeftPart(UriPartial.Path)   "?"   queryString);