第四十八章 开发自定义标签 - 在action中使用csr标签
在action
中使用<csr>
标签
在规则的操作定义中,可以使用一些附加标记。 本节描述:
<csr:default> Tag
<csr:children> Tag
<csr:section> Tag
<csr:default> Tag
<csr:default>
标记直接呈现与该规则相关的标记的内容。 例如,下面的规则写出<ECHO>
标签和它可能拥有的任何属性和/
或子标签:
<csr:rule name="ECHO" match="ECHO" > <csr:action> <csr:default> </csr:action> </csr:rule> 复制代码
该标记主要用于想要更改标记的某些方面,但又不想在其他方面干扰它的情况。 例如,如果想让CSP
页面上的所有表都有红色背景,为<table>
标签定义一个规则:
<csr:rule name="REDTABLE" match="TABLE" > <csr:action> <script language="Cache" runat="COMPILER"> // set the bgcolor attribute for this element Do ##this.SetAttribute("BGCOLOR","red") </script> <csr:default> </csr:action> </csr:rule> 复制代码
当触发该规则时,它将任何<TABLE>
标记的BGCOLOR
属性的值更改为红色(使用编译时脚本),然后在其他方面呈现表标记(及其子标记)不变。
<csr:children> Tag
<csr:children>
标记会写出标记可能具有的所有子标记。 它不同于<csr:default>
标记,因为它不呈现与此规则相关的标记。 当希望完全控制外部标记的呈现方式,但不想担心子标记的呈现方式时,可以使用此标记。
<csr:section> Tag
<csr:section>
标记指定了在结果HTML
页面中呈现内容的特定位置。 默认情况下,操作将在运行时HTML
页面中的位置写入文本,该位置相当于CSP文档中规则标记的位置。<csr:section>
标记允许更改这一点。 例如:想要定义一个规则,在HTML
页面的主体中创建一个按钮,并在页面的头部部分创建一些相应的JavaScript
。 可以用下面的规则来实现: