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

StackOverflow https://stackoverflow.com/questions/3075

  •  08-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

AjaxBasePart Часть:Easy ASP.NET Расширения AJAX 2.0 1.0 и Office SharePoint Server 2007

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

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

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

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

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

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

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

AjaxBasePart Часть:Easy ASP.NET Расширения AJAX 2.0 1.0 и Office SharePoint Server 2007

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

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

В частности, вы должны убедиться, что веб-страницы.config для веб-приложения SharePoint был обновлен, чтобы поддерживать соответствующую версию ASP.NET Аякс расширений.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top