Может ли частичное отображение ASP.NET AJAX работать на странице приложения SharePoint 2007? - PullRequest
12 голосов
/ 06 августа 2008

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

Это действительно не сработает, или я просто облажался?

Ответы [ 6 ]

2 голосов
/ 16 сентября 2008

Если вы установили 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)

2 голосов
/ 06 августа 2008

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

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

0 голосов
/ 15 марта 2009

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

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

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

0 голосов
/ 12 сентября 2008

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

AjaxBasePart: простые расширения ASP.NET 2.0 AJAX 1.0 и Office SharePoint Server 2007

Отправка этого сообщения, чтобы люди знали, что ответ есть даже без последнего пакета обновления (в ответе SecretGeek, похоже, нет шансов).

0 голосов
/ 11 сентября 2008

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

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

0 голосов
/ 02 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...