ASPCMS 模板标签大全与调用说明:站点变量、导航、列表、详情、分页、留言、URL、IIS 部署完整速查
把 ASPCMS 全部常用模板标签按作用域、列表、详情、工具四级分类整理,配 head/foot 完整范例、navlist 多级导航、newslist/productlist 等四大列表、产品详情字段、面包屑 position、留言 gbook、URL 重写规则、IIS 启用 ASP、UTF-8 编码、SQL 注入历史漏洞防护与 11 项 FAQ。一份接手老 ASPCMS 模板可直接当字典查的速查手册。
ASPCMS 是国内一套基于 ASP 的轻量企业建站系统,2010 年前后非常流行。它的模板开发模型采用一种类似 Smarty 的标签语法({aspcms:xxx}),开发者只要写好 HTML 框架、把这些标签塞到对应位置就能生成完整站点。但 ASPCMS 官方文档常年没更新、社区资料分散在论坛各处,导致很多接手老模板的开发者卡在"忘记某个调用怎么写"的反复 Google 上。本文把所有常用的 ASPCMS 模板标签按"作用域 → 列表 → 详情 → 工具"的层级整理成一份完整的速查手册,并补充两类实战内容:(1) 真实模板代码片段示例;(2) 在 IIS / Windows Server 老环境上 ASPCMS 模板调试常见踩坑。覆盖 ASPCMS 2.x 与 3.x 主流分支。
ASPCMS 模板架构与变量作用域基础
模板目录结构
典型的 ASPCMS 模板目录在站点根 /Templates/ 下,每个子目录是一套主题:
/Templates/default/
- index.html (首页模板)
- about.html (单篇文章模板)
- newslist.html (新闻列表模板)
- news.html (新闻详情模板)
- productlist.html (产品列表模板)
- product.html (产品详情模板)
- piclist.html, pic.html
- downlist.html, down.html
- gbook.html (留言板模板)
- head.html, foot.html, side.html (辅助片段)
- css/, js/, images/ASPCMS 路由会根据访问的 URL 决定使用哪个模板:访问 /news/?1_5.html 会渲染 news.html,/newslist/?1_1.html 会渲染 newslist.html,依此类推。
标签语法总览
ASPCMS 把标签分三类:
- 单行变量:
{aspcms:sitetitle}这种直接输出当前作用域里某个变量值。 - 循环块:
{aspcms:newslist size=15}...{/aspcms:newslist}这种成对出现的标签,中间放循环模板。 - 条件判断:
{if:条件}...{end if},类似 if/else 的逻辑控制。
循环块内部用方括号语法访问当前迭代项的字段:[newslist:title]、[newslist:link]。这些方括号变量只在对应循环块内有效,离开块就识别不到。
变量作用域三级
ASPCMS 的作用域由外到内三层:
- 全局站点变量:
{aspcms:sitetitle}等以 aspcms 开头的单行标签,任何模板任何位置都能用。 - 当前页面变量:
{aspcms:sortname}、{aspcms:sortid}、{aspcms:parentsortid}等,在列表页或详情页有意义,首页通常为空。 - 循环局部变量:
[newslist:title]等方括号变量,只在{aspcms:newslist}...{/aspcms:newslist}块内有意义。
理解这三层是写出来的标签能否正确显示数据的关键——比如在首页直接写 [news:title] 不在循环块里,结果就是空字符串,不报错但前端啥也没有。
站点全局信息标签
基础信息
这一组标签从后台"系统设置"读取,在 head.html 和 foot.html 里高频使用:
| 标签 | 含义 | 典型用法 |
|---|---|---|
| {aspcms:sitepath} | 站点根路径(适配子目录部署) | 所有静态资源路径前缀 |
| {aspcms:languagepath} | 多语言版本路径 | 多语言站点根 |
| {aspcms:siteurl} | 站点完整 URL(含协议) | 分享、canonical |
| {aspcms:sitelogo} | LOGO 图片相对路径 | head 里 img src |
| {aspcms:sitetitle} | 站点标题 | head 里 title 标签 |
| {aspcms:additiontitle} | 附加标题(栏目分页时拼接) | title 拼接 |
| {aspcms:sitekeywords} | 站点 meta keywords | head meta |
| {aspcms:sitedesc} | 站点 meta description | head meta |
| {aspcms:defaulttemplate} | 当前主题目录名 | 静态资源前缀 |
| {aspcms:copyright} | 版权信息 | foot 版权区 |
公司联系信息
从后台"公司信息"读取,常用在底部信息栏和联系页:
| 标签 | 含义 |
|---|---|
| {aspcms:companyname} | 公司名称 |
| {aspcms:companyaddress} | 公司地址 |
| {aspcms:companypostcode} | 邮政编码 |
| {aspcms:companycontact} | 联系人 |
| {aspcms:companyphone} | 电话号码 |
| {aspcms:companymobile} | 手机号码 |
| {aspcms:companyfax} | 公司传真 |
| {aspcms:companyemail} | 电子邮箱 |
| {aspcms:companyicp} | 备案号 |
| {aspcms:statisticalcode} | 统计代码(百度统计、CNZZ) |
head.html 完整范例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>{aspcms:sitetitle}{aspcms:additiontitle}</title>
<meta name="keywords" content="{aspcms:sitekeywords}">
<meta name="description" content="{aspcms:sitedesc}">
<link rel="canonical" href="{aspcms:siteurl}">
<link rel="stylesheet" href="/{aspcms:sitepath}Templates/{aspcms:defaulttemplate}/css/style.css">
</head>
<body>
<header>
<a href="/{aspcms:sitepath}{aspcms:languagepath}">
<img src="{aspcms:sitelogo}" alt="{aspcms:sitetitle}">
</a>
</header>导航与多级菜单
navlist 一级导航
所有顶级栏目的循环输出:
{aspcms:navlist type=0}
<a href="[navlist:link]">[navlist:name]</a>
{/aspcms:navlist}type=0 表示从根级开始。type=4 等数字表示从特定父分类下取子分类,等于"固定分类列表"。
subnavlist 二级及以下
嵌套在 navlist 内:
{aspcms:navlist type=0}
<li><a href="[navlist:link]">[navlist:name]</a>
{aspcms:subnavlist type=[navlist:sortid]}
<a href="[subnavlist:link]">[subnavlist:name]</a>
{/aspcms:subnavlist}
</li>
{/aspcms:navlist}当前位置高亮
列表页或详情页里高亮当前所在分类,用 if 标签判断 sortid:
{aspcms:navlist type=0}
<a href="[navlist:link]" {if:[navlist:sortid]={aspcms:sortid}} class="active" {end if} >
[navlist:name]
</a>
{/aspcms:navlist}栏目类型
navlist 返回的栏目数据 type 字段告诉你这个栏目是什么形态,常用于决定展示样式:
| type 值 | 栏目形态 |
|---|---|
| 1 | 单篇文章(about) |
| 2 | 文章列表(newslist) |
| 3 | 产品列表(productlist) |
| 4 | 下载列表(downlist) |
| 5 | 招聘列表 |
| 6 | 相册列表(piclist) |
| 7 | 外部链接 |
列表标签:news / product / pic / down 四大类
新闻列表 newslist
输出当前分类下的新闻列表:
{aspcms:newslist size=15 order=time}
<li>
<a href="[newslist:link]" title="[newslist:title]">[newslist:title len=40]</a>
<span>[newslist:date style=yy-m-d]</span>
<span>[newslist:visits]</span>
</li>
{/aspcms:newslist}参数说明:
size:每页数量,默认 10。order:排序字段,可选id(按 ID)、time(按时间)、visits(按浏览量)。[newslist:title len=40]:标题截断到 40 字符。[newslist:date style=yy-m-d]:日期格式,可选yy-m-d输出2024-01-01、y-m-d输出24-01-01、m-d输出01-01。
产品列表 productlist
{aspcms:productlist size=20 order=time}
<div class="product-card">
<a href="[productlist:link]">
<img src="[productlist:pic]" alt="[productlist:title]">
</a>
<a href="[productlist:link]" title="[productlist:title]">
[productlist:title len=10]
</a>
</div>
{/aspcms:productlist}productlist 比 newslist 多了 [productlist:pic],是产品的封面图(通常是缩略图路径)。
图片列表 piclist
{aspcms:piclist size=20 order=time}
<a href="[piclist:link]">
<img src="[piclist:pic]" alt="[piclist:title]">
</a>
{/aspcms:piclist}下载列表 downlist
{aspcms:downlist size=15 order=time}
<li>
<a href="[downlist:link]">[downlist:title len=50]</a>
<span>[downlist:date style=yy-m-d]</span>
<span>[downlist:visits]</span>
</li>
{/aspcms:downlist}首页跨分类调用
list 标签默认只取当前分类的数据,要在首页跨分类取数据用 {aspcms:news}、{aspcms:product}、{aspcms:content} 这种"非 list 后缀"标签,加 sort=分类ID 参数:
<!-- 首页公司新闻(sort=2 假设是新闻分类 ID) -->
{aspcms:news sort=2 num=5}
<li><a href="[news:link]">[news:title len=20]</a> [[news:date style=m-d]]</li>
{/aspcms:news}
<!-- 首页推荐产品 -->
{aspcms:product sort=4 num=15 order=isrecommend}
<li>
<a href="[product:link]">
<img src="[product:pic]">[product:title]
</a>
</li>
{/aspcms:product}order 参数除了 time/id/visits 还可以是 isrecommend(推荐排序)、top(置顶排序)。
详情页字段访问
单篇文章详情 about
about.html 模板里直接用 [about:xxx] 不需要循环包裹,因为单篇文章的作用域已经在详情页范围内自动激活:
| 字段 | 含义 |
|---|---|
| [about:info] | 正文 HTML |
| [about:desc] | 描述(前 100 字摘要) |
新闻详情 news
| 字段 | 含义 |
|---|---|
| [news:title] | 新闻标题 |
| [news:desc] | 描述(前 100 字) |
| [news:source] | 来源 |
| [news:date] | 发布日期 |
| [news:visits] | 浏览量 |
| [news:info] | 正文 HTML |
产品详情 product
product 比 news 多了 [product:pic](封面图)。其他字段(title、desc、source、date、visits、info)一致。
图片详情 pic 和下载详情 down
pic 详情字段和 product 类似(pic、title、desc、source、date、visits、info)。down 详情多了 [down:downurl](下载地址)。
详情页前后篇导航
<div class="article-nav">
<span>上一篇:{aspcms:prev}</span>
<span>下一篇:{aspcms:next}</span>
</div>详情正文分页
正文超长想分页时,在编辑器里手动插入分页符,模板里用 {aspcms:page} 输出分页条。
分页条 pagenumber
列表页底部的分页器:
<div class="pagination">
[newslist:pagenumber len=5]
</div>不同列表对应不同的 pagenumber 标签:
[newslist:pagenumber len=5]新闻列表[productlist:pagenumber len=5]产品列表[downlist:pagenumber len=5]下载列表[piclist:pagenumber len=5]图片列表
len 参数是页码显示数量。len=5 表示同时显示 5 个页码(如 1 2 3 4 5)。
当前分类与位置标签
当前分类信息
| 标签 | 含义 |
|---|---|
| {aspcms:sortname} | 当前分类名称 |
| {aspcms:sortid} | 当前分类 ID |
| {aspcms:parentsortid} | 当前分类的父分类 ID |
面包屑:position
<nav class="breadcrumb">
<a href="/{aspcms:sitepath}{aspcms:languagepath}">首页</a>
{aspcms:position}
> <a href="[position:link]">[position:name]</a>
{/aspcms:position}
</nav>position 块会自动迭代当前页面的祖先链路(首页 > 一级 > 二级 > 当前),开发者只要写好"一级条目"的样式即可。
侧边栏当前栏目下的子栏目
{aspcms:navlist type={aspcms:parentsortid}}
<li>
<a href="[navlist:link]"
{if:[navlist:sortid]={aspcms:sortid}} class="active" {end if}>
[navlist:name]
</a>
</li>
{/aspcms:navlist}把 navlist 的 type 设置为 {aspcms:parentsortid},就只输出当前栏目同级的兄弟栏目(用于侧边导航高亮当前位置)。
留言板 gbook 与 gbooklist
调用留言表单
<div class="gbook-form">
{aspcms:gbook}
</div>这一行会在前端渲染出 ASPCMS 默认的留言表单(标题、姓名、内容输入框 + 提交按钮)。表单的样式是后台留言模块的全局样式。
留言列表
{aspcms:gbooklist size=10 order=time}
<div class="gbook-item">
<h4>[gbooklist:title]</h4>
<p>[gbooklist:name] · [gbooklist:wdate style=y-m-d]</p>
<p>[gbooklist:winfo]</p>
{if:[gbooklist:status]}
<div class="reply">
<p>管理员回复 · [gbooklist:rdate style=y-m-d]</p>
<p>[gbooklist:rinfo]</p>
</div>
{end if}
</div>
{/aspcms:gbooklist}字段对照:
[gbooklist:title]留言标题[gbooklist:name]留言人姓名[gbooklist:wdate]留言时间[gbooklist:winfo]留言内容[gbooklist:status]是否已回复(用于 if 判断)[gbooklist:rdate]回复时间[gbooklist:rinfo]回复内容
链接规则与 URL 解析
ASPCMS 默认 URL 格式
| 页面类型 | URL 形式 |
|---|---|
| 单篇文章 | about/?sortid.html |
| 文章列表 | newslist/?sortid_page.html |
| 文章详情 | news/?sortid_id.html |
| 产品列表 | productlist/?sortid_page.html |
| 产品详情 | product/?sortid_id.html |
| 图片列表 | piclist/?sortid_page.html |
| 图片详情 | pic/?sortid_id.html |
| 下载列表 | downlist/?sortid_page.html |
| 下载详情 | down/?sortid_id.html |
| 留言板 | gbook/ |
其中 sortid 是栏目 ID,id 是内容 ID,page 是当前页码。
静态资源路径前缀
引用 CSS、JS、图片等静态资源时必须用模板路径前缀,否则部署到子目录后 404:
<link href="/{aspcms:sitepath}Templates/{aspcms:defaulttemplate}/css/style.css" rel="stylesheet">
<script src="/{aspcms:sitepath}Templates/{aspcms:defaulttemplate}/js/main.js"></script>站内链接路径前缀
所有站内 a 链接的 href 加 /{aspcms:sitepath} 前缀:
<a href="/{aspcms:sitepath}productlist/?4_1.html">查看更多产品>></a>SEO 友好 URL 改造
ASPCMS 默认的 URL 带 ? 参数对 SEO 不友好。可以在 IIS 的 web.config 里配置 URL Rewrite 把 news/?1_5.html 重写为 /news/1/5.html:
<rewrite>
<rules>
<rule name="aspcms-news-detail">
<match url="^news/(\d+)/(\d+)\.html$"/>
<action type="Rewrite" url="news/?{R:1}_{R:2}.html"/>
</rule>
</rules>
</rewrite>同时模板里的 [newslist:link] 输出的 URL 也要改写——这需要修改 ASPCMS 的链接生成逻辑(Plus/Class/Cls_BLL.asp 之类的核心文件)。难度较高,但可显著提升 SEO 表现。
模板片段调用与辅助模板
头部 / 底部片段
<!-- 在 index.html 顶部 -->
{aspcms:top} <!-- 调用 head.html -->
<!-- 在 index.html 底部 -->
{aspcms:foot} <!-- 调用 foot.html -->侧边栏等任意片段
除了 head/foot,还有任意命名的辅助模板。在主模板里通过 {aspcms:template src=xxx.html} 调用:
<aside>
{aspcms:template src=side.html}
</aside>
<aside>
{aspcms:template src=hot-products.html}
</aside>这种写法等于"模板 include",把一个共用片段复用到多个页面。
友情链接 linklist
图片型友情链接
<ul class="links-images">
{aspcms:linklist type=pic}
<li>
<a href="[linklist:link]" target="_blank" rel="nofollow">
<img src="[linklist:pic]" alt="[linklist:name]" width="80" height="33">
</a>
</li>
{/aspcms:linklist}
</ul>文字型友情链接
<ul class="links-text">
{aspcms:linklist type=font}
<li><a href="[linklist:link]" target="_blank" rel="nofollow">[linklist:name]</a></li>
{/aspcms:linklist}
</ul>全部友情链接
{aspcms:linklist type=all}
<a href="[linklist:link]" target="_blank" rel="nofollow">[linklist:name]</a>
{/aspcms:linklist}SEO 提示:友情链接默认不带 nofollow,权重会传递给对方。如果是临时合作或不信任对方站点,记得手动给链接加 rel="nofollow" 或在后台批量设置。
条件判断与逻辑控制
if 标签基础
{if:[navlist:sortid]={aspcms:sortid}}
class="active"
{end if}条件支持的运算符:=(等于)、<>(不等)、>、<、>=、<=。
if-else 嵌套
ASPCMS 的 if 没有原生 else 分支。常见做法是连续两个 if:
{if:[navlist:type]=2}
<span class="icon-news"></span>
{end if}
{if:[navlist:type]=3}
<span class="icon-product"></span>
{end if}更复杂的逻辑(多分支、嵌套循环条件)一般要在后端核心文件改 ASP 代码,模板层面表达力有限。
实战:从零搭一个 ASPCMS 模板的目录结构
给一个完整最小模板的文件清单:
/Templates/mytheme/
├── head.html # 共用头部 + nav
├── foot.html # 共用底部 + 版权 + 统计代码
├── side.html # 侧边栏(联系信息 + 推荐产品)
├── index.html # 首页(包 head/foot/side + 首页内容)
├── about.html # 单篇模板(关于我们 / 联系我们等)
├── newslist.html # 新闻列表
├── news.html # 新闻详情
├── productlist.html # 产品列表
├── product.html # 产品详情
├── piclist.html
├── pic.html
├── downlist.html
├── down.html
├── gbook.html # 留言板
├── search.html # 搜索结果
├── 404.html # 404 页面
└── /css/style.css
└── /js/main.js
└── /images/logo.png开发顺序建议:
- 先写 head.html 和 foot.html,确认全局变量都能正确输出。
- 写 index.html,重点是各种 list 标签跨分类调用。
- 写 newslist.html / productlist.html / piclist.html,确保分页器正常工作。
- 写 news.html / product.html,详情字段的访问与前后篇导航。
- 写 gbook.html、search.html、404.html。
- 测试所有页面在 IE9+ / Edge / Chrome / Firefox / 移动端浏览器的表现。
常见踩坑与维护建议
编码问题:模板文件必须 GBK 还是 UTF-8
ASPCMS 早期版本默认 GBK 编码(中文 Windows 服务器友好),新版本支持 UTF-8。模板文件的编码必须和 ASPCMS 后台设置一致——不一致就会乱码。Windows 记事本默认保存 ANSI(GBK),用 VS Code、Notepad++ 时务必显式选 UTF-8 不带 BOM。
IIS 必须启用 ASP 经典模式
ASPCMS 是 ASP 不是 ASP.NET。Windows Server 2019 / 2022 默认不装 ASP 模块,需要在"服务器管理器 → 添加角色 → Web 服务器 (IIS) → 应用程序开发"里勾选 ASP。否则访问 .asp 文件会 404 或下载源码。
权限问题:data 目录必须可写
ASPCMS 的数据文件、缓存、上传都在 /data/ 目录。给运行 IIS 进程的用户(IUSR / IIS_IUSRS)赋"修改"权限,否则后台发布文章和上传图片都失败。
SQL 注入历史漏洞
ASPCMS 早期版本(2.x)有多个已知 SQL 注入和文件上传漏洞(CVE 列表能查到)。生产环境必须升级到 3.x 最新版本,并加 WAF / nginx 反向代理过滤恶意请求。
移动端适配
ASPCMS 默认模板不响应式。要做手机版可以走两条路:(1) 模板里用 CSS3 媒体查询做响应式适配;(2) 后台启用"手机模板"功能,单独开发 mobile/ 目录的模板,通过 UA 判断切换。
静态化部署
ASPCMS 后台支持把动态页面生成静态 HTML("系统设置 → 静态页面生成")。生成后通过 IIS 直接出静态文件,性能高且 SEO 友好。但生成的 HTML 文件体积大、增量更新慢,适合内容更新频次低的企业站。
常见问题解答
ASPCMS 现在还有人维护吗
官方 ASPCMS 在 2015 年后基本停止主版本更新,最新公开版本是 ASPCMS 3.0。社区有零散的安全补丁但没有持续更新的 fork。如果是新项目,不建议选 ASPCMS——优先 WordPress / Typecho / DedeCMS / Joomla 这类还在维护的系统。如果是接手老项目,照本文方法读懂模板就能维护下去。
ASPCMS 的标签和 DedeCMS 标签能互相迁移吗
不能直接迁移,但思路高度相似。ASPCMS 的 {aspcms:newslist} 大致对应 DedeCMS 的 {dede:arclist},循环字段访问也类似(一个用 [newslist:title],另一个用 [field:title /])。迁移模板时主要是逐个标签找对应替换,工作量不小但不复杂。
怎么把 ASPCMS 模板改成响应式布局
核心是 CSS 改造,标签层面几乎不动。在 head.html 加 viewport meta、在 style.css 用 flex/grid 布局并用媒体查询适配多端。导航在小屏幕折叠成汉堡菜单(用一段 JS 控制 nav 显示隐藏即可)。改造完测试主要分辨率(320 / 375 / 414 / 768 / 1024 / 1440)下的显示效果。
列表页只显示了 10 条数据想要更多怎么改
调整 size 参数即可:{aspcms:newslist size=30 order=time} 改成 30。但要注意单页数据太多影响加载速度,建议 size 控制在 20-50 之间,配合分页器使用。如果是首页推荐位 num 参数:{aspcms:news num=10} 改成 10。
list 标签 order 参数除了 time/id/visits 还有哪些值
常用还有 isrecommend(按推荐排序)、top(按置顶排序)。具体支持哪些字段取决于内容表的字段——查看 /Plus/Class/ 下相关 ASP 文件里的 SQL 拼接逻辑可以确认。常见错误:写错排序字段名(比如把 visits 写成 view)会导致 SQL 出错或回退默认排序。
position 面包屑里"首页"是写死的还是有标签
"首页"两个字是写死在模板里的,因为 position 块只迭代分类祖先链路不包括根。如果是多语言站点要把"首页"也国际化,可以从语言包变量读:<a href="/{aspcms:sitepath}{aspcms:languagepath}">{aspcms:lang_home}</a>,前提是在 ASPCMS 后台多语言模块定义了 lang_home 变量。
模板里能写 ASP 原生代码吗
可以但不推荐。ASPCMS 的 .html 模板文件最终被 ASP 引擎处理,可以直接嵌入 <%...%> 段写 VBScript 或 JScript。但这样写出来的模板可读性差、容易和 ASPCMS 标签解析冲突、维护成本高。建议把所有动态逻辑都用 ASPCMS 标签实现,必须用 ASP 时也限制在很小范围。
ASPCMS 站点想做 SEO 优化主要从哪几个方向入手
四个方向:(1) URL 改造:从 ?sortid_id.html 改成 /category-name/article-id.html 这种伪静态形式;(2) 元信息:head.html 里 title、description、keywords 用文章本身字段而非全局站点字段(详情页用 [news:title] 等);(3) 结构化数据:在详情页输出 Article schema JSON-LD;(4) 站点速度:开启 IIS 静态压缩、合并 CSS/JS、图片转 WebP。
ASPCMS 后台访问慢怎么排查
三个方向:(1) /data/ 目录文件量过大(特别是 cache 和缓存日志),定期清理;(2) Access 数据库太大(/data/aspcms.mdb 超过 50MB 性能急降),考虑迁到 SQL Server;(3) IIS 应用池回收设置不合理,设置定时回收避免内存泄漏导致响应变慢。
升级 ASPCMS 大版本后模板不兼容怎么办
主版本升级(如 2.7 升 3.0)后部分标签语法或字段名会变。建议升级前 git diff 模板文件标签,升级后用一个测试站完整跑一遍 head/index/列表/详情/留言板五个核心场景,发现报错或 404 再定位具体哪个标签没换。可以参考 ASPCMS 官方升级日志(虽然简略但能找到关键变更点)。
总结
ASPCMS 的模板标签设计虽然朴素但很完整:站点全局信息、多级导航、四大列表、详情字段、分页器、面包屑、留言、链接、辅助模板、条件判断都覆盖到了。掌握了本文这份速查后,做一套企业站模板的开发周期通常在 3-7 天(看样式复杂度)。维护他人留下的 ASPCMS 模板时,遇到不熟的标签翻这份手册查表即可。但要清醒:ASPCMS 已停更多年,新项目尽量用现代 CMS;老项目可以维护但要做好安全加固(WAF + 备份 + 漏洞监控)。这份速查的核心价值不是教你"怎么做新 ASPCMS 站",而是让你能在接手老项目时迅速上手不踩坑。
本文标题:《ASPCMS 模板标签大全与调用说明:站点变量、导航、列表、详情、分页、留言、URL、IIS 部署完整速查》
本文链接:https://zhangwenbao.com/aspcms-labels-calling-instructions.html
版权声明:本文原创,转载请注明出处和链接。许可协议: CC BY-NC-SA 4.0