Kentico: Как перенаправить на основе поля типа документа

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

  •  08-10-2019
  •  | 
  •  

Вопрос

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

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

И как добраться до контекста данных Kentico в Code, чтобы я мог записать код, который вытаскивает поля типов документов и перенаправляет на основе ошибок (потому что в настоящее время пытается получить доступ к ошибкам PatteriTem («MyfieldName»), потому что Kentico не использует PatterItem для данных Привязка, хотя Eval («Myfieldname») все еще работает.

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

Решение

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

<%
    if ((bool)CMSContext.CurrentDocument.DataRow["MyFieldName"])
        Response.Redirect("PageNotFound.aspx");
%>

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

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

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

if(ValidationHelper.GetBoolean(
    CMSContext.CurrentDocument.GetValue("MyFieldName"), false)))
{
    Response.Redirect("/404.aspx");
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top