26
2019.2

loopfield标签

作者: POPASP
loopfield标签 loopfield标签用于输出键值对,比如数据库的一条记录、Request.QueryString、Request.Form等。 举例 ```brush:html {:$rs=B_("Content").field("ContentID,Title,AddTime").find}
字段名字段值
``` 上例中从文章数据表(Content)中取出一条记录,循环展示字段名、字段值。上例如果写成asp代码的话,如下 ```brush:html <% <% dim rs,i set rs = B_("Content").field("ContentID,Title,AddTime").find %> <% for i = 0 to rs.fields.count-1 %> <% Next %>
字段名字段值
<%=rs.Fields(i).Name%><%=rs.Fields(i).value%>
%> ``` 从上例中,使用原生的asp代码虽然也能实现目的,但是比起POPASP的模板引擎代码略显繁琐,对开发者的技能要求更高,虽然学习POPASP的模板引擎需要花一点时间,但是比起后续的开发来说,开谓磨刀不误砍柴功。 ### loopfield的参数说明 loopfield这个标签最初是从loopdb中引申出来的,所以二者的参数也相同。 ```brush:html ' ' ``` ### 可以用于loopfield取数据的方法 一般来说,loopfield使用并不像loopdb那样广泛,可以使用的方法,一般就是取一条记录的方法: |方法名 |结果类型 |备注| |----|----|----| |find |Recordset |取一条记录| |first |Recordset |取第一条记录| |last |Recordset |取末一条记录| |getN |Recordset |取第N条记录| |getRow |Dictionary |取一条记录| |getKeyValue |Dictionary |取键值对,3.1添加| |getObject |POPASP_SELF_OBJECT |自定义对象,3.1添加| |getFields |Dictionary |getFields(fields)| |Search |Recordset|搜索,getRand(q,fields)| 由于Recordset对象的特殊性,适用于loopdb方法的Select与Search方法也可用于loopfield |方法名 |结果类型 |备注| |----|----|----| |select |Recordset |配合POPASP_POSITIONPAGE完成分页| |Search |Recordset|搜索,getRand(q,fields)| 如果在循环体中取具体某个字段的值,可使用`@field`,取序号值可使用`$__index` ### loopfield的拓展 loopfield不仅可以对一维Dictionary对象、POPASP_SELF_OBJECT对象、Recordset对象进行循环展示,而且还可以循环如下几种类型 |数据名称 |标识符值 |结果类型 |备注| |----|----|----| |request.QueryString|request.querystring|IRequestDictionary |QueryString 集合用于取回 HTTP 查询字符串中的变量值| |request.Form|request.form|IRequestDictionary|用于从使用 POST 方法的表单获取表单元素的值| |request.ServerVariables|request.servervariables|IRequestDictionary|用于取回服务器变量的值| 在这种情况使用的时候第一、第二个参数不用分配值。 举例 ```brush:html
字段名字段值
``` ### loopfield的嵌套 loopfield不仅可以跟loopfield嵌套,也可以跟if等其他块标签相互嵌套,用法同loopdb,不再举例。