根据查询字符串更改页面模板

  • 本文关键字:查询 字符串 kentico
  • 更新时间 :
  • 英文 :


我正在使用一个也包含母版页布局的页面模板。现在,当我访问具有浏览器中显示的布局的页面时。现在,如果我使用如下所示的查询字符串,我想在这里:

http://localhost/Mywebsite/page?AppMode=true

然后我想在这里只显示页面母版布局的内容,不应与页面内容一起显示。

目前我正在使用 Kentico9。

页面

的模板不是你可以使用宏执行的操作,但是你可以使用宏/查询字符串控制页面占位符 Web 部件。

所以为了做你想做的事,这就是你需要做的。

    对于页面的实际模板,
  1. 它几乎只是一个"空白"页面模板,其中包含页面占位符 Web 部件。
  2. 对于页面占位符 Web 部件,将路径设置为"."(所以它显示了这个页面),然后你可以用宏设置页面模板:{% (Convert.ToBool(QueryString.AppMode, false) ? "NotAppModeTemplate" : "AppModeTemplate") %}

告诉我这是否对你有用! 唯一的 caviote 是所使用的主模板的唯一"控件",它可以继承根或最近的主模板,因此,如果您希望一个模板使用 1 个母版页,而另一个模板使用不同的母版页,则必须将母版页设置在其祖先中的某个位置,然后使用页面模板中的"从级别 0,1,2..." 设置。

假设你使用 Kentico 的 ASPX 开发模式执行此操作。 对查询字符串执行简单检查,并在代码隐藏中设置占位符的可见性。 如果我在门户模式下执行此操作,我会使用 Web 部件上的宏执行此操作。

我在母版页模板条件布局中使用了该布局,我在条件中使用了带有宏查询字符串的可见属性,除了我的内容占位符,它按我想要的那样工作正常。

最新更新