我是传统ASP的新手,我正在尝试使用可变占位符创建母版页,并使用在内容页面上处理的变量填充该页面上的信息。
我的母版页看起来像这样:
<html>
<head>
<title>Template Loaded Properly</title>
</head>
<body>
<% call BodyContent %>
<span>Title: <% //place title here %></span>
<span>Content: <% //place content here %></span>
</body>
</html>
和内容页面如下:
<!--#include virtual="/templates/TEMPLATE.html" -->
<% sub BodyContent %>
var Title = "This is the title"
var Content = "Here goes some content"
<% end sub %>
任何帮助将不胜感激。
答案 0 :(得分:2)
一旦你包含了包含变量的页面,就可以将它们视为当时和那里创建它们(因为从某种意义上说, 是在那时创建的,至少从服务器& #39; s观点)。你做需要在范围 [读取:将它们外面 sub] 中变量全局化,除非你想要在调用BodyContent
子时列出所有这些内容。 (就我个人而言,我不明白这一点,但有些人对全球变量过分不合理。)
<%
dim Title, Content
sub BodyContent
Title = "This is the title"
Content = "Here goes some content"
end sub
%>
<body>
<% call BodyContent %>
<span>Title: <%=Title%></span>
<span>Content: <%=Content%></span>
</body>
但有一点需要注意:包含文件会在代码之前很久就被处理,因此您无法改变包含的文件。换句话说,不要执行此操作:
<%If x = a Then%>
<!-- #include virtual="/templateA.inc" -->
<%Else%>
<!-- #include virtual="/templateB.inc" -->
<%End If%>
尝试这样的结果是将包含templateA和templateB。如果您需要条件包含,请使用FileSystemObject
来阅读相应模板的内容,然后使用Execute
来执行它。