У меня есть простая страница с моим ScriptManager
и моим UpdatePanel
, и у меня ContentTemplate
есть одна ListBox
и одна метка. Я просто пытаюсь поймать его, OnSelectionChanged
чтобы я мог обновить текст в Label
. Независимо от того, какие настройки я пытаюсь настроить, я всегда получаю постбэк на всю страницу.
Это действительно не сработает, или я просто облажался?
Вам нужен пакет обновления 1 для Sharepoint 2007 - иначе шансов нет. (Sharepoint 2007 предшествовал ajax 1.0 - они встроили некоторую поддержку в пакет обновления 1)
Далее, от неприятностей точки зрения съемки, тест что точная же код функция , как ожидается , при размещении в обычной странице ASP.NET. (Буквально скопируйте и вставьте свой код в новую страницу, чтобы исключить опечатки). Распределение точек доступа в проблемной зоне или за ее пределами поможет сузить пространство решения.
Существует конкретная проблема со смешиванием doPostback, UpdatePanel и SharePoint - и симптом именно то, что вы видите: обратная передача на всю страницу вместо асинхронной обратной передачи. См. Эту статью KB для обходного пути: http://support.microsoft.com/kb/941955
Тодд Бликер из Mindsharp показал мне кусок кода, который он написал, который может использовать Ajax на Sharepoint 2.0. Это было довольно круто. Я полагаю, что компания использовала его в своем программном обеспечении для управления сайтами sharepoint, если вы хотите взглянуть. (раньше вы могли запросить 30-дневную пробную версию). Бьюсь об заклад, как это сделать на их Yahoo Group (я не могу вспомнить имя, но я уверен, что если вы ищете разум, вы найдете его.)
Как примечание, Ajax был вокруг в течение долгого времени. Microsoft легко поддерживала его с 2002 года, может быть, раньше, с выпуском IE 5.5 (я не знаю о других браузерах, я занимался внутренней разработкой, и мы поддерживали ее только в то время). Это просто не называлось так. Термин Ajax - это не более чем термин маркетинга, который кто-то придумал позже.
Получение последнего пакета обновления для SharePoint 2007 решит вашу проблему (и добавит полную поддержку AJAX). Без пакета обновления вам нужно будет следовать примеру, описанному в этой статье:
AjaxBasePart: простые расширения ASP.NET 2.0 AJAX 1.0 и Office SharePoint Server 2007
Публикуйте это сообщение, чтобы люди знали, что ответ есть даже без последнего пакета обновления (в ответе SecretGeek, похоже, нет шансов).
Если вы установили SharePoint 2007 (без Service Pack 1), вы можете следовать примеру, подобному следующей статье:
AjaxBasePart: простые расширения ASP.NET 2.0 AJAX 1.0 и Office SharePoint Server 2007
Причиной этого является то, что существует специфическая проблема со смешиванием doPostback, UpdatePanel и SharePoint - и это именно то, что вы видите: полностраничная обратная передача вместо асинхронной обратной передачи. Обратитесь к этой статье базы знаний для обходного пути: веб-часть, содержащая элемент управления ASP.NET AJAX 1.0 UpdatePanel, который использует _doPostBack () ...
В противном случае вы можете просто установить Service Pack 1 для решения вашей проблемы:
Windows SharePoint Services 3.0 с пакетом обновления 1 (SP1)
С технологической точки зрения Service Pack 1 не добавляет полной поддержки ASP.NET AJAX. Вам все еще нужно использовать обходные пути, описанные в различных статьях, упомянутых в предыдущих ответах.
В частности, вам необходимо убедиться, что файл web.config для вашего веб-приложения SharePoint был обновлен для поддержки соответствующей версии расширений ASP.NET AJAX.
Тот факт, что web.config не был обновлен, был наиболее вероятной причиной проблемы, описанной в первоначальном вопросе.