HttpHandler
s используются IIS для «обработки» документов различных типов, например, у вас есть отдельный обработчик .asmx
, обработчик .aspx
, обработчик .ascx
и т. Д.
Просмотр SPUtility.Redirect
Вы можете использовать метод SPUtility.Redirect, когда хотите перенаправить пользователя на другую страницу.Например, вы можете создать целевую страницу, которая определяет членство пользователя в роли, и на основе этой информации вы можете перенаправить их на соответствующую страницу.Или, основываясь на содержимом строки запроса, выданной браузером пользователя, вы можете перенаправить их на страницу, которая может обработать строку запроса, например на страницу результатов Центра поиска.
В качестве альтернативы вы можетеможно посмотреть Использование одноразовых объектов Windows SharePoint Services .
- РЕДАКТИРОВАТЬ -
Это ответ на ваш комментарий;вы думаете в правильном направлении
- Создайте собственный HttpHandler; Пример 1 , Пример 2
- Всякий раз, когда пользователь запрашивает URL, ваш пользовательский HttpHandler будет обрабатывать его.
Redirect()
, если выкак и URL, в противном случае.
Но для того, чтобы ваш Custom HttpHandler работал, он должен сначала вызываться - поэтому в вашем конфигурационном файле вы должны будете указать значение в path
.Обычно здесь добавляется расширение.Но вы можете заменить это на *
, чтобы работать для всех запросов.Я верю, что это сработает.
<httpHandlers>
<add verb="*" path="*.aspx" type="MyNameSpace.MyHttpHandler, MyAssemblyName" />
</httpHandlers>
- РЕДАКТИРОВАТЬ -
Это ответ на ваш комментарий.Предполагая, что у вас есть «доступ» к страницам, чтобы вы могли писать на нем javascript, вы можете использовать javascript следующим образом.
<script language=JavaScript>
function RedirectIfUnAuthorized()
{
//Get the location of the current page.
var currentUrl = new String( document.location.href )
//See if it belongs to the urls you are looking for; redirect if so.
if (currentUrl == "http://www.thisUrl.com/page1.aspx") {Response.Redirect("http://www.GOOGLE.com")}
if (currentUrl == "http://www.thisUrl.com/page2.aspx") {Response.Redirect("http://www.BING.com")}
if (currentUrl == "http://www.thisUrl.com/page3.aspx") {Response.Redirect("http://www.someother.com")}
}
</script>
Вы можете вызвать вышеуказанный javascript в событии OnLoad
страницы.