Я возьму свой шанс задать вопрос здесь, потому что я действительно не могу найти основную причину этой проблемы.
Я работаю на сайте WSS 3.0, использую SPD 2007, и я довольно новичок в разработке Sharepoint в целом.
Я настраиваю страницу DispForm.aspx. Страница представляет собой простую страницу редактирования, но в конце я добавляю веб-часть настраиваемой формы списка для добавления комментариев (которые хранятся в другом списке) и ниже - представление данных для просмотра комментариев, связанных с элементом, отображаемым в DispForm.aspx. стр.
То, что я хочу сделать, напоминает функциональность, отображаемую на этой странице, я вдохновился этим, и вы можете увидеть мои комментарии как самые последние:
http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?ID=209
Все работало, пока я не удалил все комментарии, которые я сделал в качестве теста. Теперь все, что я получаю из своей пользовательской формы списка, это «невозможно отобразить эту ошибку веб-части».
Я посмотрел журналы, я понимаю, на что они жалуются, но я понятия не имею, как это исправить, или даже не понимаю, почему возникает такая ошибка.
SPDataSourceView.ExecuteSelect() - selectArguments: IsEmpty=True, MaximumRows=0, RetrieveTotalRowCount=False, SortExpression=, StartRowIndex=0, TotalRowCount=-1
Error while executing web part: System.InvalidOperationException: Unable to open the specified list item. --->
System.ArgumentException: **Value does not fall within the expected range**.
at Microsoft.SharePoint.SPList.**GetItemById**(Int32 id, String strRootFolder, Boolean cacheRowsetAndId)
at Microsoft.SharePoint.SPList.GetItemById(Int32 id)
at Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments) --- End of inner exception stack trace ---
at Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigatorInternal()
at Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigator()
at Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigator(IDataSource datasource, Boolean originalData)
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.GetXPathNavigator(String viewPath)
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform()
InnerException 1: System.ArgumentException: Value does not fall within the expected range.
at Microsoft.SharePoint.SPList.GetItemById(Int32 id, String strRootFolder, Boolean cacheRowsetAndId)
at Microsoft.SharePoint.SPList.GetItemById(Int32 id)
at Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments)
мы говорим о форме «новый элемент», поэтому я не понимаю, почему я получаю ошибку в GetItemById. Что он пытается получить и как это исправить?
Наконец, я не изменил CAML-запрос, созданный SPD. Я внес изменения в список комментариев, такие как переименование или удаление неиспользуемых столбцов, но я не думаю, что это является причиной проблемы, потому что удаление пользовательской формы списка и воссоздание ее не решило проблему.
Есть какие-нибудь подсказки относительно того, где или на что мне следует смотреть? Я свежая из идей.
Спасибо.