代码之家  ›  专栏  ›  技术社区  ›  Doug

Kentico:如何基于文档类型字段重定向

  •  1
  • Doug  · 技术社区  · 14 年前

    我在Kentico中有一个特定的文档类型,它有一个布尔字段,如果为真,我需要将页面重定向到另一个URL(在本例中是404页)。

    最好的地方在哪里?

    我如何访问代码中的Kentico数据上下文,以便可以编写代码来提取文档类型字段并基于它进行重定向(因为当前尝试访问DataItem(“MyFieldName”)错误,因为Kentico不使用DataItem进行数据绑定,即使eval(“MyFieldName”)仍然有效。

    2 回复  |  直到 13 年前
        1
  •  4
  •   takrl cck    13 年前

    您可以通过cmscontext对象访问Kentico上下文数据。

    <%
        if ((bool)CMSContext.CurrentDocument.DataRow["MyFieldName"])
            Response.Redirect("PageNotFound.aspx");
    %>
    
        2
  •  3
  •   takrl cck    13 年前

    如果您只想将一个页面重定向到另一个页面。肯蒂科已经有了内置的东西,只要去 Page->Properties->Menu . 在“菜单操作”部分中,可以指定重定向的URL。

    否则,对于描述的需求,可以通过以下方式获取布尔值:

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