Kentico: Как перенаправить на основе поля типа документа - PullRequest
1 голос
/ 12 ноября 2010

У меня есть определенный тип документа в Kentico, который имеет логическое поле, которое при значении true требует перенаправления страницы на другой URL-адрес (в данном случае страницу 404).

Где лучшее место для этого?

и как мне получить доступ к контексту данных kentico в коде, чтобы я мог написать код, который извлекает поле типов документов и перенаправляет на его основе (потому что в настоящее время пытается получить доступ к ошибкам Dataitem ("MyFieldName"), потому что Kentico не использует DataItem для привязки данных, хотя Eval («MyFieldName») все еще работает.

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

Вы можете получить доступ к данным контекста Kentico через объект CMSContext.

<%
    if ((bool)CMSContext.CurrentDocument.DataRow["MyFieldName"])
        Response.Redirect("PageNotFound.aspx");
%>
3 голосов
/ 30 ноября 2010

Если вы хотите иметь возможность только перенаправить страницу на другую страницу.В Kentico уже есть что-то встроенное, просто перейдите на Page->Properties->Menu.В разделе действий меню вы можете указать URL для перенаправления.

В противном случае для описанного требования вы можете получить логическое значение следующим образом:

if(ValidationHelper.GetBoolean(
    CMSContext.CurrentDocument.GetValue("MyFieldName"), false)))
{
    Response.Redirect("/404.aspx");
}
...