Функции Sharepoint, настраиваемые страницы aspx на разных уровнях сайта - PullRequest
0 голосов
/ 29 мая 2009

Я задавал подобный вопрос здесь , но что конкретно?

Я хочу иметь возможность развернуть решение и активировать функцию, которая обеспечивает различные настраиваемые страницы aspx для разных уровней сайта на моем веб-сайте.

Итак, моя первая пользовательская страница aspx будет в корне: http://example.org/custompage1.aspx

И тогда на более глубоком уровне появится другая настраиваемая страница aspx: http://example.org/subsite1/custompage2.aspx

Я получил свое решение на уровне "сети". Если я активирую функцию на уровне подузла, я могу получить доступ к пользовательской странице aspx, которая должна появиться на этом более глубоком уровне, но я также могу получить доступ к другой странице, которая должна появляться только в корне веб-сайта, например, http://example.org/subsite1/custompage1.aspx

Что неправильно, неправильно, неправильно!

Я пытался разместить эту функцию на «сайте», но это, казалось, обеспечивало только корневую настраиваемую страницу aspx, а не страницу, которая должна отображаться на более глубоком уровне веб-сайта.

Ответы [ 3 ]

3 голосов
/ 29 мая 2009

Страницы «Custom aspx» известны в SharePoint как страницы «Приложения», и они развертываются в каталоге _layouts (обычно это C: \ Program Files \ Общие файлы \ Microsoft Shared \ расширения веб-сервера \ 12 \ TEMPLATE \ LAYOUTS) , Все страницы в каталоге Layouts доступны с каждого сайта в веб-приложении.

Если вы заранее знаете, какая страница идет с какого сайта, тогда вы можете поместить код на каждую пользовательскую страницу, которая проверяет, к ней ли обращаются с «недопустимого» сайта, и если да, выдать пользовательскую ошибку 404 (см. Здесь : Скрытые возможности ASP.NET ) или что-то подобное.

1 голос
/ 30 мая 2009

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

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

0 голосов
/ 29 мая 2009

Clorphil прибил ответ. Я хотел бы только добавить, что вы можете использовать SPContext.Current.Web на своей странице, чтобы определить, на каком веб-сайте вы находитесь при вызове.

...