我在 Kentico 中有一个特定的文档类型,它有一个布尔字段,当它为 true 时,我需要将页面重定向到另一个 URL(在本例中为 404 页面)。
最好的地方在哪里?
以及如何在代码中访问 kentico 数据上下文,以便我可以编写代码来提取文档类型字段并基于它进行重定向(因为当前尝试访问 Dataitem("MyFieldName") 错误,因为 Kentico 不使用 DataItem 数据绑定,即使 Eval("MyFieldName") 仍然有效。
您可以通过 CMSContext 对象访问 Kentico 上下文数据。
<%
if ((bool)CMSContext.CurrentDocument.DataRow["MyFieldName"])
Response.Redirect("PageNotFound.aspx");
%>
如果您只想将一个页面重定向到另一个页面。Kentico 已经内置了一些东西,只需转到Page->Properties->Menu
. 在菜单操作部分,您可以指定重定向的 URL。
否则,对于描述的要求,您可以通过以下方式获取布尔值:
if(ValidationHelper.GetBoolean(
CMSContext.CurrentDocument.GetValue("MyFieldName"), false)))
{
Response.Redirect("/404.aspx");
}