第四十八章 开发自定义标签 - 在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
。
可以用下面的规则来实现:
<csr:rule name="MYBUTTON" match="FORM/*/MYBUTTON" empty>
<csr:action>
<csr:section NAME=HEAD>
<script language="JavaScript">
function MyButton()
{
alert('MyButton pressed!');
return true;
}
</script>
</csr:section>
<input type="button" value='##(##this.GetAttribute("VALUE"))##'
onclick="MyButton();"></input>
</csr:action>
</csr:rule>
标签:自定义,标记,标签,Tag,规则,action,页面
From: https://www.cnblogs.com/yaoxin521123/p/16894671.html