第四十八章 开发自定义标签 - 在action中使用csr标签

第四十八章 开发自定义标签 - 在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>
posted @   M技术分享  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示