我正在使用一个也包含母版页布局的页面模板。现在,当我访问具有浏览器中显示的布局的页面时。现在,如果我使用如下所示的查询字符串,我想在这里:
http://localhost/Mywebsite/page?AppMode=true
然后我想在这里只显示页面母版布局的内容,不应与页面内容一起显示。
目前我正在使用 Kentico9。
的模板不是你可以使用宏执行的操作,但是你可以使用宏/查询字符串控制页面占位符 Web 部件。
所以为了做你想做的事,这就是你需要做的。
- 对于页面的实际模板,
- 它几乎只是一个"空白"页面模板,其中包含页面占位符 Web 部件。
- 对于页面占位符 Web 部件,将路径设置为"."(所以它显示了这个页面),然后你可以用宏设置页面模板:
{% (Convert.ToBool(QueryString.AppMode, false) ? "NotAppModeTemplate" : "AppModeTemplate") %}
告诉我这是否对你有用! 唯一的 caviote 是所使用的主模板的唯一"控件",它可以继承根或最近的主模板,因此,如果您希望一个模板使用 1 个母版页,而另一个模板使用不同的母版页,则必须将母版页设置在其祖先中的某个位置,然后使用页面模板中的"从级别 0,1,2..." 设置。
假设你使用 Kentico 的 ASPX 开发模式执行此操作。 对查询字符串执行简单检查,并在代码隐藏中设置占位符的可见性。 如果我在门户模式下执行此操作,我会使用 Web 部件上的宏执行此操作。
我在母版页模板条件布局中使用了该布局,我在条件中使用了带有宏查询字符串的可见属性,除了我的内容占位符,它按我想要的那样工作正常。