NoahWeb
在线搜索
NoahWeb.net | 开发者交流中心 | 支持 | 文档 | 反馈缺陷 

逻辑层标签 Action

  编写逻辑层动作基本标签,其中包含针对某个页面的特定动作的处理逻辑,当在执行动作ID所对应的动作时才会被执行。 仅限Action.xml.config文件内使用。

 

说明

标签:

<Action name="" NextAction="">

<!-- 此动作执行的逻辑部分 -->

</Action>

必要参数:

name

可选参数: NextAction

标签和参数说明:

开始标签

<Action name="" NextAction="">

结束标签 </Action>
参数:name

动作名。该名有两部分组成,规则为"文件名.动作名"。比如,要定义test.aspx文件执行login时执行的逻辑,动作名就为"test.login"。

文件名使用通配符"*"表示通用,比如,要定义当前目录下的所有文件都可以执行login动作,则动作名写成"*.login"。

动作可以使用通配符"*"表示空动作,比如,要定义test.aspx文件在没有任何动作执行的时候执行的代码,动作名应该写成"test.*"。

动作名为"*.*"时定义的为当前目录下所有文件执行空动作时的逻辑部分。

动作名还支持另一个通配符"-",定义当执行逻辑层未定义的动作时逻辑,比如,要定义test.aspx文件在接受到任何逻辑层未定义动作时的逻辑,动作名就为"test.-"。

动作名为"*.-"时定义的为当前目录下所有文件执行任何一个未在逻辑层定义的动作时的逻辑部分。

参数:NextAction 进入点动作(系统保留)

内容说明

  正如前面提到过的,NoahWeb是由动作来驱动的。程序的逻辑和前端页面的输出控制可以靠动作来定义,而动作在逻辑层里又是通过每个<Action>标签来定义。当你需要加入某个新的动作时,需要新建一组<Action>标签来定义该动作所需要进行的操作举例来说:

<Action name="test.login" NextAction="">

</Action>


  这组标签定义了一个名为“login”的动作,它将在文件"test.aspx"页面执行动作login时将被调用,而“NextAction”内容可以由您自己填写以便让其他开发人员知道该动作下一个执行的动作可能是什么。

 

XML视图



 

示例

 

<?xml version="1.0" encoding="gb2312"?>

<Actions NameSpace="siteroot">

<Action name="manager.*" NextAction="">

<!-- 当manager.aspx页面不带任何动作时候执行该部分代码-->

<Out Area="main">

<If EX="![_SESSION.myloginid]>0">

<ViewForm FormLink="login" TemplateLink="baset2form" />

</If>

</Out>

</Action>

<Action name="manager.newmaster_ex2" NextAction="">

<!-- 当manager.aspx接受到newmaster_ex2动作时候执行该部分代码 -->

<Out Area="main">

<ModuleLink Id="checkactionpurview" ></ModuleLink>

<SQLLINK Id="noah_master_SQL_modifypassword">

<Var Value="[_root.pointid]" />

<Var Value="[_root.mypass]" />

</SQLLINK>

<Echo ContentLinkId="do_ok" />

<SetVar Name="pointaction" Value="'newmaster'" />

<SetVar Name="actiondesc" Value="'管理员'" />

<Echo ContentLinkId="keepdo" />

</Out>

</Action>

<Action name="manager.setuserpass" NextAction="">

<!-- 当manager.aspx接受到setuserpass动作时候执行该部分代码 -->

<Out Area="main">

<ModuleLink Id="checkactionpurview" ></ModuleLink>

<SetVar Name="titledesc" Value="'设定指定管理员密码'" />

<Echo ContentLinkId="viewtitle" />

<SetVar Name="_this.pointaction" Value="'setuserpass_input'" />

<Echo ContentLinkId="list_noahmaster" />

</Out>

</Action>

<Action name="manager.setuserpass_input" NextAction="">

<!-- 当manager.aspx接受到setuserpass动作时候执行该部分代码 -->

<Out Area="main">

<ModuleLink Id="checkactionpurview" ></ModuleLink>

<ViewForm FormLink="masterpassword" TemplateLink="baset2form" Action="newmaster_ex2" >

<Var Value="[_root.pointid]" />

<Var Value="[_root.page]" />

</ViewForm>

</Out>

</Action>

</Actions>

 

 

 

参考
 

 

 

 

查看NoahWeb在线手册

Copyright © 2001-2004 The NoahWeb Corporation
All rights reserved.