Kentico: Как перенаправить на основе поля типа документа
Вопрос
У меня есть определенный тип документа в 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");
}