欢迎继续学习!今天是第三天的学习。
在NoahWeb中,整套的应用是靠一个一个的动作联起来完成的,至少我是这样认为的。一个动作能做到的有很多,而当多个动作联起来的时候才能完成一系列的功能,这就形成了流程。从程序的设计角度来说,流程是至关重要的,可以说你的程序的优劣相当一部分都取决于你对流程的设计,说得真实一点,就是动作之间的连接,今天我们就来说说如何让动作联起来。
还记得我们在第一天体验动作的时候谈到的吗?激发动作有两种方式,post和get。其实这里要说的动作之间的连接无外乎也是这两种方式,我们先来看第一种,使用表单来连起动作,这种属于post方式。
在昨天的课程中,我们了解了在动作中调用表单,还记不记得<ViewForm>标签?看看下面的图吧。

在昨天的课程中,我们知道了TemplateLink参数用来指定表单所需的模板,也提了一句关于Action参数的作用。而今天,Action参数就是主角。当你点击了表单上的按钮时,需要执行下一个动作以便让程序继续下去。而执行哪个动作就是由这个参数来决定的。
为了能让大家明白我在做什么,我写了另一个动作,这个动作中同样会显示出一张表单。也就是说,我们希望当我点击第一张表单,也就是昨天我们做的那张表单上的按钮时,显示出另一张表单。好啦,我们一步步来做吧。
第一步,打开动作文件,我们再写一个动作。如下图:

还是在fa.aspx页面上执行,但名称发生了变化。
第二步,我让这个动作也显示出昨天的那张表单。如下图:

你也许会问,两个动作中都显示同一张表单,岂不是看不出效果吗?不会的,这里正好可以说明白FormTitle参数的作用。
第三步,我使用了FormTitle参数,如下图:

第四步,回到上一个动作,也就是昨天做的那个动作中,我们要给<ViewForm>标签的Action参数做点文章了,如下图:

看图中红圈的部分,我在Action参数中填入了刚刚做的那个动作的名称,也就是,当点击该表单的按钮时,系统会执行该动作。
第六步,保存文件。打开浏览器我们试试看……

现在我们点击“登陆”按钮……

你已经看到了,表单的标题发生了变化,并且说明我们今天写的two动作已经执行了。是这样,当你重用一张表单时,你可以使用FormTitle参数来重新设置表单的标题,就像例子中那样。
另外,使用动作进行值传递也是很常用的,下面我们使用两张表单来试一试,别小看这个,挺有用的。
我希望在第一张表单上填写的东西,在执行下一个动作的时候,使用这张新做的表单能把数据回显出来。
第一步,打开表单文件,我们创建两张表单吧,用同一张表单来演示传值,太晕了,呵呵。

再来一张。

第二步,既然要进行值的传递,那么就需要对DemoForm2这张表单“做做手脚”了,如下图:

还记得红线处的那几个参数吗?在介绍表单的教程中我们谈起过,例子中,myname="Value"和mypass="Value"指的是声明了两个变量来接收从外部传过来的值,而LinkValue参数指的是将接收过来的值显示在Input中,还记得吧?
第三步,我们需要打开动作文件,让两个动作分别显示出这两张表单,如下图:

a动作显示表单DemoForm。

two动作显示表单DemoForm2
第四步,重点!就是在这里,我们需要写明,这张表单将接收上一个动作传过来的值,如下图:

解释一下,随着上一个动作的执行,我们在那张表单中填入的值已经被传递到这个动作中了,所以,这里我们必须使用两个全局变量来接收它们,然后放到表单中去,才能实现回显,明白了吗?还有,注意ViewForm标签的使用。
第五步,保存好一切,打开浏览器,执行一下试试看。

然后点击按钮,执行下一个动作,如下图:

值已经传过来了。使用动作来传值是挺有用的技术,比如,当用户修改个人资料的时候,就需要这种回显,所以说,学会了很方便,很好用。
今天就说这么多了…… |