Может ли частичный рендеринг ASP.NET AJAX работать на странице приложения SharePoint 2007?

У меня есть простая страница с моими ScriptManager и моими UpdatePanel, а мой ContentTemplate имеет один ListBox и один ярлык. Я просто пытаюсь поймать его OnSelectionChanged, чтобы обновить текст в Label. Независимо от того, какие настройки я пытаюсь настроить, я всегда получаю полностраничную обратную передачу.

Неужели это не сработает, или я просто напортачил?

Ответ 1

Вам нужно иметь пакет обновления 1 для Sharepoint 2007 - иначе нет никаких шансов. (Sharepoint 2007 предшествует ajax 1.0 - они создали некоторую поддержку в пакете обновления 1)

Далее, с точки зрения устранения неполадок, проверьте, что точный тот же код функционирует так, как ожидалось, при размещении на обычной странице asp.net. (Буквально скопируйте и вставьте свой код на новую страницу, чтобы исключить любые типографские ошибки). Правильное использование точки доступа в проблемной области или из нее поможет сократить пространство для решения.

Ответ 2

Если вы установили SharePoint 2007 (без пакета обновления 1), вы можете следовать примеру, например, следующей статье:

AjaxBasePart: простой ASP.NET 2.0 AJAX Extensions 1.0 и Office SharePoint Server 2007

Причиной этого является то, что существует определенная проблема со смешением doPostback, UpdatePanel и SharePoint - и симптом именно то, что вы видите: полностраничный обратный вызов вместо асинхронной обратной передачи. См. Эту статью KB для обходного пути: Веб-часть, содержащая элемент управления ASP.NET AJAX 1.0 UpdatePanel, который использует _doPostBack()...

В противном случае вы можете просто установить Service Pack 1, чтобы исправить вашу проблему:

Windows SharePoint Services 3.0 с пакетом обновления 1 (SP1)

Ответ 3

Существует определенная проблема с микшированием doPostback, UpdatePanel и SharePoint - и симптом именно то, что вы видите: полностраничный обратный вызов вместо асинхронной обратной передачи. См. Эту статью KB для обходного пути: http://support.microsoft.com/kb/941955

Ответ 4

Тодд Блекер в Mindsharp показал мне часть кода, который он написал, который может использовать Ajax на Sharepoint 2.0. Это было довольно круто. Я считаю, что компания использовала его в своем программном обеспечении управления сайтом sharepoint, если вы хотите взглянуть на него. (вы могли запросить 30-дневную пробную версию). Готов поспорить, как это делается в их группе yahoo (я не могу вспомнить имя, но я уверен, что если вы будете искать mindsharp, вы его найдете.)

В качестве примечания, Ajax существует уже давно. Microsoft легко поддерживала его с 2002 года, возможно, раньше с выпуском IE 5.5 (я не знаю о других браузерах, я занимался внутренней разработкой, и мы поддерживали только то, что было в то время). Этого просто не называли. Термин Ajax - не что иное, как маркетинговый термин, который кто-то придумал позже.

Ответ 5

Получение последнего пакета обновления для SharePoint 2007 решит вашу проблему (и добавит полную поддержку AJAX). Без пакета обновления вам нужно будет следовать примеру, описанному в этой статье:

AjaxBasePart: простой ASP.NET 2.0 AJAX Extensions 1.0 и Office SharePoint Server 2007

Проводя это, слушайте, чтобы люди знали, что есть ответ, даже без последнего пакета обновления (ответ secretGeek, похоже, не имеет шансов).

Ответ 6

С технологической точки зрения Service Pack 1 не поддерживает полную поддержку ASP.NET AJAX. Вам все еще нужно использовать обходные пути, описанные в различных статьях, упомянутых в предыдущих ответах.

Частично, вам нужно убедиться, что файл web.config для вашего веб-приложения SharePoint обновлен для поддержки соответствующей версии расширения ASP.NET AJAX.

Тот факт, что web.config не был обновлен, был наиболее вероятной причиной проблемы, описанной в исходном вопросе.