1,如何在代理中取得当前的用户名:
dim sUser as string
dim vUser as variant
set doc = session.documentContext
sUser = {@Username}
vUser = Evaluate(sUser,doc)
vUser(0)就是当前的用户名了
但这个代理必须设置成以Web身份运行的代理,
2,在代理中新增个文档,同时设置它的读者域
在表单中已经加入了一些相应域,一个读者域
strFormula = {@Unique("[Administrator]":Users)}
vResult = Evaluate(strFormula, newdoc)
newdoc.DocReaders = vResult '对读者域赋值
‘下面这两 句是将文档中的读者域DocReaders,设成真正的读者域。
’没有这两句文档的读者域的值在文档中是不会起作用的。
Set item = .GetFirstitem("DocReaders")
item.IsReaders = True
Call doc.Save(True,False)
3,在视图中加入对文档的操作按钮(如删除,修改)
在视图的最后一列中写如下的代码,通过这里实现动行一个代理,并传递一个参数给代理
"[<a href=\"DelFavorite?OpenAgent&UNID=" + UNID + "\">删除</a>]"
代理能过Query_String_Cecoded得到传进去的参数&UNID=XXXXXXXXXXXXXXXXXXXXXXXXXX(文档UNID)
代理这样写
Set db = session.CurrentDatabase
Set nowdoc = session.DocumentContext
Set view = db.GetView("AllDoc")
sCond = nowdoc.Query_String_Decoded(0) '得到参数的字符串
sUnid = GetParamValue(sCond,"UNID") ’用这个函数,得到参数串中”UNID“的值
Set doc = view.GetDocumentByKey(sUnid)
Call doc.Remove( True )
4.在B/s中代理中如得到当前表单中列表框内的值
采用的方法是在表单中增加一个临时的文本域来存放列表框的值,初始是设为空,并设为允许多值
在点击按钮时,用Javascript将列表框中的值赋给文本域
代码:
doc.FilesValue.value=doc.FilesValue.value+";"+doc.ListFiles.options[i].value;
代理 中就可以取FileValue的值了,这个值相当于一个数组。