Загрузка фрагментов HTML асинхронно на веб-странице, созданной с использованием XSLT & XML - PullRequest
0 голосов
/ 30 апреля 2009

Технология: Dot Net, ASP.Net

  • У нас есть статьи, хранящиеся в репозитории XML, и статья содержит несколько разделов.

  • Эти XML-файлы преобразуются в HTML с использованием XSLT для рендеринга в браузере.

  • Новое требование - разрешить пользователям комментировать каждый раздел (а не статью!), И когда статья показывается, мы также показываем комментарии (но основываясь на его роли / правах и в разборном / расширяемом виджете)

  • Поскольку комментарии не имеют прямого отношения к статье, а одна и та же статья может быть показана на нескольких сайтах; мы не сможем хранить комментарии вместе со статьей XML.

  • Мы планируем решить эту проблему, сохранив комментарии в отдельной базе данных со ссылками, а при преобразовании статьи XML с использованием XSLT мы добавим URL-адреса к комментариям в сгенерированном html.

  • Когда пользователь нажимает на виджет комментариев, мы используем встроенный URL-адрес, чтобы получить комментарии с помощью асинхронных вызовов с веб-сервера и показать их в расширенной области div

Это звучит очень сложно для нас, и мы не уверены, сработает ли это.

Пожалуйста, дайте мне знать, если это может быть заархивировано? или предложите лучший способ заархивировать это. THX

Ответы [ 2 ]

1 голос
/ 30 апреля 2009

Это, безусловно, можно сделать таким образом. Вам даже не нужно ждать, пока пользователь нажмет виджет комментариев. Посмотрите на jQuery (http://www.jquery.com). У него есть подпрограммы ajax для загрузки страниц по частям, например, с помощью коллажей (см. http://docs.jquery.com/Ajax и http://docs.jquery.com/Ajax/load#urldatacallback).

Однако, почему бы не добавить второе преобразование для страниц с комментариями, которые включают данные комментариев? Большинство библиотек XSLT, достойных их внимания, позволяют устанавливать значения параметров и переменных.

Я бы не стал (как предлагал предыдущий автор) использовать iframe. Они уродливы и боль в работе в JavaScript. Если вы идете по асинхронному маршруту, используйте что-то похожее на метод загрузки jQuery, вставляя HTML на страницу.

0 голосов
/ 30 апреля 2009

Может работать.

Встроенные URL-адреса могут иметь атрибут onclick, который записывает iframe, который создает страницу на вашем сервере, на которой отображаются комментарии для этого фрагмента статьи, а также форму для отправки новых комментариев, если это необходимо.

Я предлагаю iframes из-за вашего заявления «одна и та же статья может быть показана на нескольких сайтах» - и я полагаю, вы не контролируете все из них.

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